Skip to content

marco-gallegos/lumen-boilerplate

 
 

Repository files navigation

Lumen Boilerplate

Run Tests Chat

RESTful API template made from Lumen 8

Previous Lumen Version
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

Login using OAuth2 by laravel/passport

1. 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)

Screenshot from 2020-09-13 00-36-59

or here's the published postman here

PHPUnit

In your project directory run this command:

vendor/bin/phpunit

Notes:

  • If you run this via Homestead's ssh, you can this command: phpunit (in your project directory).
  • After running testing, you can check generated code coverage from .build folder.

Built With

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

Support Us

Paypal

About

RESTful API template made from lumen

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 99.7%
  • Shell 0.3%