Aller au contenu
Yaaza Ait Bah
Tous les projets

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.

Digitalgardn — pas encore de capture d'écran

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.