Plateforme de mise en relation entre artisans, clients et fournisseurs d'équipement. Une API modulaire, sécurisée, conçue pour le marché béninois.
Chaque module est isolé dans un dossier app/Domain/{Module}/ avec ses propres Controllers, Models, Migrations, Tests.
Inscription multi-profils, connexion, tokens Sanctum, vérification email par code 6 chiffres, rate limiting.
16 routes27 permissions, rôles (super_admin, manager, agent_back_office, gérant), middleware de vérification.
5 routesCatégories, prestations, règles de tarification. CRUD admin + consultation publique.
8 routesWorkflow complet brouillon → terminée. Parcours A (admin propose artisans) + Parcours B (artisans soumettent devis).
18 routesNotation 1-5 après mission, modération admin, calcul de moyenne artisan.
4 routesConversations, messages, appel vidéo (Premium), notifications multi-canal.
8 routesCertifications (validation admin), réalisations, 5 badges, disponibilité, zone d'intervention.
8 routesDemandes d'équipement, devis fournisseurs, suivi livraison, workflow liste_envoyée → livrée.
8 routesArticles (brouillon/publié/archivé), formulaire contact avec rate limit, traitement admin.
7 routesPricingService (estimation × surface × urgence), ArtisanMatchingService (artisans vérifiés + disponibles + zone).
2 servicesScénario complet : un client souhaite faire rénover sa toiture — de l'inscription à la notation de l'artisan.
Suivez chaque étape de l'interaction entre les acteurs de la plateforme.
Le client crée un compte via /api/v1/auth/register, reçoit son token Sanctum, vérifie son email avec le code à 6 chiffres reçu.
Le client parcourt le catalogue, trouve la prestation "Couverture & Toiture", puis crée une demande avec description, surface et adresse.
GET /api/v1/categories · POST /api/v1/demandesL'admin valide la demande (statut → validée), consulte les artisans disponibles via l'ArtisanMatchingService, et propose 2 à 3 artisans qualifiés.
PUT /api/v1/admin/demandes/{id}/statut · POST /api/v1/admin/demandes/{id}/artisansLe client consulte la liste des artisans proposés, lit leurs profils (certifications, réalisations, avis), et en sélectionne un.
GET /api/v1/demandes/{id}/artisans · PUT /api/v1/demandes/{id}/artisans/{prop}/selectionnerL'admin crée la mission liée à la demande, fixe la date de début, le montant final et la garantie.
POST /api/v1/admin/demandes/{id}/missionL'admin suit l'avancement, met à jour le statut (en_cours → terminée). La demande passe automatiquement à "terminée".
PUT /api/v1/admin/missions/{id}/statutLe client note l'artisan de 1 à 5 et laisse un commentaire. L'admin modère l'avis avant publication. La note moyenne de l'artisan est recalculée.
POST /api/v1/missions/{id}/avis · PUT /api/v1/admin/avis/{id}/modererInterface Swagger interactive pour tester tous les endpoints — publics, authentifiés et admin.
https://benin-artisan.monkoin.com/api/documentation