laravel lumen note.
Will stop maintaining this when laravel 10 release. seeLumen Boilerplate
RESTful API template made from Lumen 9
Previous Lumen Version |
---|
8 |
7 |
6 |
5.8 |
5.7 |
Installation
1. Download
Clone/Download this repository place on your server. (I highly recommend you use either Laravel Homestead or Laravel Valet, to get the optimal server configuration and no errors through installation.)
2. Environment Files
This boilerplate comes with a .env.example
file in the root of the project.
Copy env.example
to .env
where you prepare your environment.
Note: Make sure you do not rename .env.example
, for team purposes.
3. Composer
Lumen boilerplate dependencies are managed through the PHP Composer tool. Install the depencencies by navigating into your project in terminal and typing this command:
composer install
After that run :
php artisan migrate:fresh --seed
laravel/passport
Login using OAuth2 by1. Installation
Install laravel passport by navigating into your project in terminal and run this command:
php artisan passport:install
This will generate Client ID and Client Secret.
2. Access Tokens
Use the Client ID
and Client Secret
of password grant for OAuth2 - Login (Password grant) endpoint.
API Documentation (Swagger)
You can visit the generated API documentation in http://lumen-boilerplate.test/documentation in your local machine. (working in progress)
or here's the published postman here
Testing (Pest)
In your project directory run this command:
composer test
Built With
- laravel/lumen-framework - The stunningly fast micro-framework by Laravel.
- GrahamCampbell/Laravel-Throttle - A rate limiter for Laravel.
- spatie/laravel-fractal - An easy to use Fractal wrapper built for Laravel and Lumen applications.
- fruitcake/laravel-cors - Adds CORS (Cross-Origin Resource Sharing) headers support in your Laravel application.
- thephpleague/fractal - Output complex, flexible, AJAX/RESTful data structures, extended by spatie/laravel-fractal
- laravel/passport - OAuth2 server and API authentication, fix installed by dusterio/lumen-passport.
- andersao/l5-repository - Repositories to abstract the database layer.
- spatie/laravel-permission - Associate users with roles and permissions.
- DarkaOnLine/SwaggerLume - Lumen swagger.
- rap2hpoutre/laravel-log-viewer - Laravel log viewer.
- coderello/laravel-passport-social-grant - API authentication via social networks for your Laravel application.
- flipboxstudio/lumen-generator - Add Lumen missing generator.
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License.
Todo
- Replace dingo/api
- Fix for PHP7.4
- Log viewer
- Documentation private route with permission
- Localization
- Code Generator
- Seeder for Test/Production separately
- Manage seeder for permissions
- Include Postman collection/Config/Preset
- Wiki
- Firewall
- Social login
- Back up
- Data transfer objects (DTO) https://github.com/spatie/data-transfer-object
- Throttle for lumen
- Url versioning
- Finishing swagger
- spatie/laravel-query-builder