lpfuri / laravel-demo-mode
Add demo features to your Laravel app.
Requires
- php: ^7.4|^8.0
- illuminate/console: ^7|^8|^9|^10
- illuminate/support: ^7|^8|^9|^10
- symfony/process: ^5|^6
This package is auto-updated.
Last update: 2024-04-26 21:05:21 UTC
README
Add demo features to your Laravel app.
So you simply want to have a demo installation of your app for everyone to try online. First you seed it with one user to show some credentials to anyone to log in and some data you think it's fine for the demo.
Now this package allows your app to do a few things really easy:
- Blocks one user in the database so it acts as demo user and can't be updated or deleted.
- Tells the app that demo mode is on so it can show demo user credentials.
- Make a backup of the demo database that will be restored in some regular period of time.
Right now this package only works with eloquent extended users and mysql databases.
Installation
Install the package through Composer.
Run the Composer require command from the Terminal:
composer require lpfuri/laravel-demo-mode
Usage
After installing the package you can have everything done in three steps:
Set database backup
Use the package facade (Lpfuri\LaravelDemoMode\Facades\DemoMode) and use this to check app state and show demo user credentials:
DemoMode::isDemoModeOn();
Backup database for restoring
Type in terminal:
php artisan demo-mode:backup
Set demo mode on
Type in terminal:
php artisan demo-mode:on
By default user with id value 1 will be the demo user and database will be restored every day (Schedule must be running). You can change this values in the config file. Keep in mind that whenever a user tries to update or delete the demo user an error will be thrown.
More stuff you can do:
Set demo mode off
Type in terminal:
php artisan demo-mode:off
Manually restore the database
Type in terminal:
php artisan demo-mode:restore
Get demo user
DemoMode::user();