bpocallaghan/subscriptions

Add Subscription Plans to your laravel admin project - https://github.com/bpocallaghan/laravel-admin-starter

0.0.2 2017-11-03 13:11 UTC

This package is auto-updated.

Last update: 2024-03-23 18:23:51 UTC


README

This will add Subscription Plans to your laravel project. Create the plan and his features for the user to register to. You can add many features and update the feature's order.

Installation

Update your project's composer.json file.

composer require bpocallaghan/subscriptions

Usage

Register the routes in the routes/vendor.php file.

  • Website
Route::resource('pricing', 'Subscriptions\Controllers\Website\SubscriptionsController');
  • Admin
Route::group(['prefix' => 'settings', 'namespace' => 'Subscriptions\Controllers\Admin'],
	function () {
		Route::resource('subscription-plans/features', 'FeaturesController');
		Route::resource('subscription-plans', 'SubscriptionPlansController');
		Route::get('subscription-plans/{subscription_plan}/features/order',
			'SubscriptionPlansController@showFeaturesOrder');
		Route::post('subscription-plans/{subscription_plan}/features/order',
			'SubscriptionPlansController@updateFeaturesOrder');
	});

Commands

php artisan subscriptions:publish

This will copy the database/seeds and database/migrations to your application. Remember to add $this->call(SubscriptionPlanFeaturesSeeder::class); $this->call(SubscriptionPlanTableSeeder::class); in the DatabaseSeeder.php

php artisan subscriptions:publish --files=all

This will copy the models, views and controllers to their respective directories. Please note when you execute the above command. You need to update your routes.

  • Website
Route::get('/pricing', 'SubscriptionsController@index');
  • Admin
Route::group(['namespace' => 'Subscriptions'], function () {
	Route::resource('subscription-plans/features', 'FeaturesController');
	Route::resource('subscription-plans', 'SubscriptionPlansController');
	Route::get('subscription-plans/{subscription_plan}/features/order',
		'SubscriptionPlansController@showFeaturesOrder');
	Route::post('subscription-plans/{subscription_plan}/features/order',
		'SubscriptionPlansController@updateFeaturesOrder');
});

Demo

Package is being used at Laravel Admin Starter project.

TODO

  • add the navigation seeder information (to create the navigation/urls)