mk990 / mkapi
api helper for laravel
Requires
- php: >=8.3
- illuminate/support: ^10|^11|^12.0
Requires (Dev)
- phpunit/phpunit: ^9.5|^10|^11
README
๐ API Development with Laravel MkApi
MkApi is a Laravel-based CLI tool that simplifies API development by generating essential files like models, controllers, and Swagger documentation โ all with a single command. Itโs designed to help you build faster, cleaner, and more documented APIs. ๐งฐโจ
๐ฆ Packages Used
This project utilizes the following packages to boost development and maintain high standards:
๐ฆ Package Name | ๐ Description | ๐ข Version |
---|---|---|
l5-swagger |
Swagger API documentation generator for Laravel. | ^8.6 |
jwt-auth |
JSON Web Token (JWT) authentication for secure APIs. | ^2.7 |
larastan |
Static analysis tool to catch bugs early using PHPStan for Laravel. | ^3.0 |
laravel-backup |
Seamless backup of databases and files in Laravel apps. | ^9.1 |
laravel-pulse |
Real-time performance insights for Laravel applications. | ^1.4 |
laravel-telescope |
Debugging assistant for Laravel. Monitors requests, logs, queries, mail, jobs, and more. | ^5.8 |
laravel-persian-validation |
Persian-specific validation rules for form requests. | ^2.0 |
verta |
Date handling between Solar and Gregorian calendars. | ^8.5 |
turnstile |
Easy integration with Cloudflare Turnstile for bot protection. | ^2.0 |
โ๏ธ Installation
๐ฅ Install MkApi Tool
composer require mk990/mkapi --dev php artisan install:mkapi
๐ง The following packages are installed by default:
l5-swagger
jwt-auth
larastan
๐๏ธ Install Optional Packages
Use the interactive install command to choose additional tools:
php artisan install:mkapi --package
๐ Available packages:
laravel-backup
laravel-pulse
laravel-telescope
laravel-persian-validation
verta
turnstile
๐ ๏ธ Usage
MkApi provides easy-to-use artisan commands to generate models and controllers with Swagger support.
๐งฑ Generate a Model
php artisan mkapi:Model YOUR_MODEL_NAME
โ Examples:
php artisan mkapi:Model product php artisan mkapi:Model all
๐ฎ Generate a Controller
php artisan mkapi:Controller YOUR_CONTROLLER_NAME
โ Examples:
php artisan mkapi:Controller product php artisan mkapi:Controller all
๐งฉ Command Options
๐ --force
: Overwrite Existing Files
php artisan mkapi:Model product --force
This will replace any existing ProductModel.php
file.
๐งพ --code
: Add Swagger Documentation & Controller Logic
php artisan mkapi:Controller product --code
๐ง Example generated method in ProductController.php
:
public function store(Request $request): JsonResponse { $validated = $request->validate([ 'name' => 'required|string|max:255', ]); try { return $this->success(Product::create($validated)); } catch (Exception $e) { Log::error($e->getMessage()); return $this->error('create error'); } }
โก๏ธ Explore more generated methods in the TestController file.
๐ค Contributing
We love contributions! If you have ideas or improvements, feel free to:
- ๐ Create an Issue
- ๐ Submit a Pull Request
๐ License
This project is licensed under the MIT License.
๐ฅ Contributors
- ๐จโ๐ป mk990
- ๐จโ๐ป Emad Shirzad