Site vitrine d’un bistrot, adossé à un dashboard de gestion pour que l’équipe mette à jour elle-même la carte, les événements et les infos pratiques.
Réservation
- Page de réservation publique, disponibilités calculées à partir de la vraie capacité de la salle : services, gabarits de tables, jours d’ouverture et fermetures.
- Cahier de la salle dans le dashboard, avec plan de salle dessiné (grille, chevauchements, occupation) et statistiques de la semaine.
- Confirmations par courriel via Brevo, jamais bloquantes pour la réservation.
- Limite de demandes par visiteur.
Dashboard
- Contenu en quatre onglets : carte, photos, réglages et avis.
- Photos téléversées servies hors de
public/. - Connexion admin sans mot de passe : code à usage unique envoyé par courriel à une adresse autorisée.
Qualité
- Logique métier pure (disponibilités, fuseau de Paris, mise en mots des horaires, statistiques) testée sans base ni navigateur.
- Fiche schema.org pour les moteurs de recherche.
Stack Next.js + PostgreSQL + Prisma, design system en CSS vanilla, en ligne sur bistrot.gautierchuinard.com (Docker, auto-hébergé).
Showcase site for a bistro, backed by a management dashboard so the team can update the menu, events and practical info themselves.
Booking
- Public booking page with availability computed from the room’s real capacity: services, table templates, opening days and closures.
- Room logbook in the dashboard, with a drawn floor plan (grid, overlaps, occupancy) and weekly statistics.
- Email confirmations sent through Brevo, never blocking the booking.
- Per-visitor rate limit on requests.
Dashboard
- Content in four tabs: menu, photos, settings and reviews.
- Uploaded photos served outside
public/. - Passwordless admin sign-in: a one-time code sent by email to an allow-listed address.
Quality
- Pure business logic (availability, Paris time zone, opening hours wording, statistics) tested without a database or browser.
- schema.org listing for search engines.
Stack Next.js + PostgreSQL + Prisma, plain CSS design system, online at bistrot.gautierchuinard.com (Docker, self-hosted).