Add Subscription Plans to your laravel admin project - https://github.com/bpocallaghan/laravel-admin-starter
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., (*1)
Update your project's composer.json
file., (*2)
composer require bpocallaghan/subscriptions
Register the routes in the routes/vendor.php
file.
- Website, (*3)
Route::resource('pricing', 'Subscriptions\Controllers\Website\SubscriptionsController');
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'); });
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
, (*4)
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, (*5)
Route::get('/pricing', 'SubscriptionsController@index');
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'); });
Package is being used at Laravel Admin Starter project., (*6)