arnoldkouya/laravel-api-generator

Laravel API Generator: Rapid scaffolding for CRUD, Auth, and route generation

v1.0.0 2025-05-01 12:31 UTC

This package is auto-updated.

Last update: 2025-05-31 12:53:05 UTC


README

Une librairie Laravel pour générer rapidement une API complète (CRUD + Auth) avec une seule commande Artisan.

Latest Version on Packagist License

🚀 Installation

  1. Ajouter la librairie à votre projet Laravel (en local) :
composer config repositories.kouya-api-generator path ./../laravel-api-generator
composer require arnoldkouya/laravel-api-generator:@dev

Remplace le chemin par le chemin réel vers ton dossier.

  1. Laravel détectera automatiquement le service provider via composer.json.

⚙️ Utilisation

Lancer la commande :

php artisan api:generate

Elle te guidera étape par étape :

  • 📌 Nom du modèle (ex: Product)
  • 🧱 Champs du modèle (ex: name:string, price:decimal, category_id:foreignId:belongsTo:Category)
  • 🗃️ Génération :
    • Fichier de migration
    • Modèle avec $fillable et relations
    • Controller CRUD (index, store, show, update, destroy)
    • Route API dans routes/api.php
    • AuthController (register, login, me, logout)
    • Routes d’auth (protégées par Sanctum)
    • Installation automatique de Laravel Sanctum si absent

📦 Exemples de champs supportés

Syntaxe champ Effet
name:string $table->string('name')
price:decimal $table->decimal('price')
is_active:boolean $table->boolean('is_active')
category_id:foreignId:belongsTo:Category $table->foreignId()->constrained() + relation belongsTo dans le model

📁 Dossiers générés

  • app/Models/NomDuModele.php
  • app/Http/Controllers/Api/NomDuModeleController.php
  • app/Http/Controllers/Api/AuthController.php
  • routes/api.php (modifié automatiquement)
  • database/migrations/xxxx_create_nom_table.php

🧪 Roadmap (à venir)

  • Génération de FormRequest avec validation
  • Génération de tests API
  • Personnalisation des stubs
  • Mode non interactif (via options CLI)
  • Support de OpenAPI/Swagger

📄 Licence

MIT — par Arnold KOUYA