MO

Restaurant / Client project

Le Petit Paradis

A restaurant discovery, reservation, and operations platform connecting a fast public experience to a secure booking-guarantee workflow.

Role
Product architecture · Full-stack engineering
Year
2026
State
Live client platform

System / clustered

Scroll to examine

Project snapshot

DeliveredDeployed platform
EvidenceSecure reservations in production
System breadth6 core technologies

The condition

Challenge

The restaurant needed one coherent path from local discovery and menu exploration to reservation, no-show protection, and day-to-day staff operations—without exposing payment secrets or card data to the browser.

The response

Architecture

An Astro storefront serves content-rich, search-friendly pages with selective React islands. An independent Express and Prisma API owns bookings, events, admin sessions, and a Stripe manual-capture state machine backed by PostgreSQL.

What shaped it

Key decisions

  1. HTML-first public experience

    Astro renders the content and local-search surface, while React islands are reserved for the interactions that need client state.

  2. Server-authoritative guarantees

    The API computes the amount, creates manual-capture PaymentIntents, and validates every capture or release against local booking state.

  3. Auditable operations

    Signed, idempotent webhooks and transactional status changes are paired with an admin audit log that records before-and-after state without sensitive payment data.

How it feels

Experience

Guests explore the menu, events, location, and nearby GR34 context before reserving and authorizing a per-guest guarantee. Staff search bookings, manage events, and release or capture authorizations according to attendance.

What resolved

Outcome

A deployed restaurant platform with public discovery pages, direct-reservation fallback, an authenticated back office, and auditable payment and webhook transitions.

  • Deployed platform
  • Secure reservations in production

System composition

Technology, deliberately chosen.

  • Astro 5
  • React 18
  • Express 5
  • Prisma 6
  • PostgreSQL
  • Stripe