ambersive / api
This package provides some helper methods for a faster api development.
Requires
- darkaonline/l5-swagger: 6.*|7.*
- emadadly/laravel-uuid: 1.*
- illuminate/support: 6.*|7.*|8.*
- parsedown/laravel: ^1.2
- pragmarx/version: dev-master
- pragmarx/yaml: ^1.0.0
- spatie/laravel-permission: ^2.36|3.*
- tymon/jwt-auth: 1.*
Requires (Dev)
- php: >=7.4
- illuminate/support: 5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.*|7.*|8.*
- laravel/framework: 5.2.*|5.3.*|5.4.*|5.5.*|5.6.*|5.7.*|5.8.*|6.*|7.*|8.*
- orchestra/testbench: 3.8.*|4.*|5.*|6.*
- orchestra/testbench-browser-kit: ^6.0@dev
- phpunit/phpunit: ^9.3@dev
This package is auto-updated.
Last update: 2021-08-07 06:46:06 UTC
README
by AMBERSIVE KG / Manuel Pirker-Ihl (manuel.pirker-ihl@ambersive.com / @leganz on Twitter)
About
The main goal of this project is to provide a tested environment for a fast api endpoint creation. The project will automatically create the required php files and ensure that also a minimum quality standard is provided.
This packages will help you create:
- Models (+ documentation)
- Resources (+ documentation)
- Collections (+ documentation)
- Controller (+ documentation)
- Tests (Models/Controller)
- Policy
- Factory
based on some simple yaml schema files.
This packages also comes with some out-of-the-box endpoint implemmentations (restful endpoints) like
- login
- registration
- lost password
- permissions (CRUD)
- roles (CRUD)
Changes of each version can be read in CHANGELOG.md.
Supported databases
Currenty supported databases are
- MySQL 5.x
- Sqlite
Please be aware that some functionality will not be there due to restrictions in the database technology (e.g. relations resolving).
Used packages
Other requirements
This package is using prettier to automatically format files via command line. NodeJs is a must have requirement.
Installation
1) Run the install command
composer require ambersive/api
2) Installation of all nodejs requirements
Before you can process please delete all default migration files. (eg. for users table). Please notice that the following command will move some files from your config folder into a "ori" folder as backup, cause this package will overwrite some setting in the basic auth.php config file.
php artisan api:init
Then migrate the databse to be sure all the required tables are migrated.
php artisan migrate
Default setup
This package provides some standard implementations of the
- login
- registration
- forgot password / set password
- user endpoints (incl. current user)
and some basic endpoints for permissions, roles and users. Some of the basic endpoints can be replaced and customized. For further information please read the documentation.
Seeds
This package also includes some seeds incl. user seeding. During the setup process seed files will be created in resources/seedfiles.
Creating folders and files
Schemafiles and most of the required files are stored in specfic folders. Via the ambersive-api config file all of those paths can be set. The following command will create the required folders. You will not need to run this command if you run the api:init command.
php artisan api:prepare
Documentation
Further information about this package can be found here.