arnoldkouya / laravel-api-generator
Laravel API Generator: Rapid scaffolding for CRUD, Auth, and route generation
v1.0.0
2025-05-01 12:31 UTC
Requires
- php: ^8.0
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
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.
🚀 Installation
- 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.
- 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