Digitalgardn
Une plateforme de mise en relation entre freelances et clients : une API REST Laravel et une interface React, développées seul. Les freelances publient des services, les clients commandent et paient depuis un portefeuille, les deux échangent en temps réel, et un espace d'administration pilote la plateforme.

Réalisé avec
- Laravel
- PHP
- MySQL
- Laravel Sanctum
- Laravel Reverb
- Pusher
- React
- Vite
- Redux Toolkit
- TanStack Query
- React Hook Form
- Zod
- Axios
- Tailwind CSS
- shadcn/ui
- WebSocket
Rôle
Seul développeur, backend et frontend, de la première à la dernière ligne.
Le problème
Une place de marché n'est pas une application mais plusieurs qui doivent s'accorder : un catalogue, une commande avec sa machine à états, de l'argent dans un portefeuille, une conversation, et un espace d'administration au-dessus. Chacune se construit seule ; la difficulté est qu'une commande qui change d'état doit déplacer de l'argent, ouvrir une conversation et atteindre deux navigateurs à la fois.
Approche
Les transitions de statut sont validées contre le rôle de l'appelant plutôt que crues sur parole, et chacune émet un événement qu'écoutent le portefeuille, la conversation et les deux navigateurs — Laravel Reverb sur des canaux privés, avec le cache frontend invalidé par ce même événement. L'alternative évidente, du polling et un client qui décide ce qu'un vendeur peut faire, a été écartée : elle met la règle là où elle est le moins applicable.
Résultat
La plateforme couvre tout le parcours : inscription, catalogue public, commande, paiement depuis le portefeuille, conversation, avis, et un espace d'administration avec statistiques et modération. Elle est publiée sous licence MIT et le code est public.