mk990/mkapi

api helper for laravel

v0.1.3 2025-06-11 22:17 UTC

This package is auto-updated.

Last update: 2025-07-11 22:33:41 UTC


README

GitHub stars

GitHub license

MkApi Logo

๐Ÿš€ 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:

๐Ÿ“ License

This project is licensed under the MIT License.

๐Ÿ‘ฅ Contributors