Skip to content
Back to Portfolio
Software Engineering 2026

LeBonResto: Restaurant Marketplace

My own restaurant marketplace for Morocco: customers find and book restaurants, owners manage their listing, and admins run the platform.

LeBonResto: Restaurant Marketplace preview

Overview

LeBonResto helps customers discover restaurants across Moroccan cities, browse menus and photos, and book a table. I built it as three Next.js applications (customer web app, owner dashboard, admin panel) on a NestJS API with Prisma and PostgreSQL, plus a separate marketing site for restaurants and partners. The project started as a WordPress plugin with Leaflet maps, then became a NestJS API on Supabase, before reaching its current full-stack version.

The problem

Restaurants in Morocco often have no proper online page, and customers struggle to compare places by city, cuisine or features and to book without calling. Owners also need one place to keep menus, opening hours, events and reservations up to date.

What I built

I built a NestJS API organised in modules (restaurants, menus and dishes, opening hours, events, reservations, feedback, saved restaurants, notifications, analytics) with Prisma on PostgreSQL, Redis caching and MinIO for images. Customers, owners and admins each have their own authentication (JWT, refresh tokens, OTP, Google sign-in for customers). The customer app offers filters by city, category and tags, a Leaflet map view, restaurant pages with reviews and a step-by-step reservation flow; owners and admins get dashboards with charts. Reservation events trigger email and WhatsApp notifications through Twilio, and a scheduled job handles automatic confirmation.

Results

  • Three web apps (customer, owner, admin) sharing one API and a shared UI package
  • Playwright smoke and accessibility tests and a Lighthouse CI workflow on GitHub Actions
  • Production stack with Docker Compose and Nginx on a VM, with database and media backup and restore scripts
  • Marketing site with restaurant and investor lead forms, blog, pricing and sitemap
  • Project history: WordPress plugin, then a Supabase API, then the current NestJS and Prisma platform

Highlights

  • Search and filters by city, category and tags, with a map view
  • Multi-step table reservation flow with status tracking
  • Owner dashboard: menus, dishes, photos, opening hours, events and analytics
  • Admin panel: moderation of restaurants and owners, audit logs, notifications and settings
  • WhatsApp and email notifications for reservations
  • SEO basics: restaurant JSON-LD, sitemap and robots

More projects

View all

Let's build something great together

Whether you need a full-stack web app, a data dashboard, or a cloud-native deployment, I'd love to hear about it.