Case study
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
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
HTML-first public experience
Astro renders the content and local-search surface, while React islands are reserved for the interactions that need client state.
Server-authoritative guarantees
The API computes the amount, creates manual-capture PaymentIntents, and validates every capture or release against local booking state.
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