Stone Watch Party a été conçu pour la projection d’une finale de Coupe du monde dans une salle de 750 places. Le site offre aux invités un parcours adapté au mobile, des informations sur l’événement jusqu’à l’inscription, tout en gérant l’attribution des places en coulisses.

Le défi principal

Deux invités peuvent tenter de réserver la même dernière place au même moment. Le service de réservation doit faire respecter la capacité au niveau des données, tandis que l’affichage public des disponibilités reste assez clair et à jour pour guider l’inscription.

Ce que j’ai construit

  • Page d’accueil de l’événement et parcours d’inscription
  • Attribution des places et données de l’événement modélisées avec PostgreSQL et Drizzle
  • Validation et administration authentifiée pour gérer les inscriptions

Ce que j’en retiens

La disponibilité affichée dans un navigateur ne peut pas faire foi pour une réservation. Une attribution gérée en base de données et des tests de concurrence ont été nécessaires pour protéger le nombre de places quand les requêtes arrivent simultanément.

Pourquoi j’ai choisi Drizzle pour ce projet, et comment la réservation de la dernière place fonctionne dans le code : Prisma ou Drizzle : pourquoi je choisis l’ORM le plus léger.

Preuves et statut

Site de l’événement : conçu pour une salle de 750 places. Le code source comprend des tests d’intégration en base de données pour l’attribution simultanée des places et la limitation du débit des inscriptions.