Skip to content

Repository files navigation

Restaurant Management Platform

AI-powered restaurant management platform built with Lovable, Supabase, and a modern CMS workflow.

Overview

An AI-assisted full-stack restaurant management platform built with Lovable and Supabase.

The project demonstrates how an AI-generated website can evolve into a production-ready digital product with database, authentication, CMS workflow, and business operations.

Screenshots

Homepage Menu
Homepage Menu
Staff dashboard CMS / menu control
Dashboard CMS

Features

Customer Side

  • Responsive restaurant website
  • Dynamic menu browsing with category filters
  • Product detail modal (photo, description, allergens, price)
  • Online reservation (date, time slot, party size)
  • Online ordering workflow (dine-in or takeaway)

Staff Dashboard

  • Secure authentication
  • Order management with live status updates
  • Reservation management
  • Menu management (sold out today, seasonal, price changes)

CMS Workflow

  • Product management (create, edit, delete, reorder)
  • CSV import / export
  • Easy content updates from Google Sheets or Excel
  • Database-driven content — the database is the single source of truth

Technology Stack

Frontend

  • React + TypeScript
  • TanStack Start / TanStack Router
  • Tailwind CSS

Backend

  • Supabase — database, authentication, storage
  • Row Level Security for staff-only operations
  • Server functions for business logic
  • Stripe-ready payment adapter (optional)

Development

  • Lovable AI development
  • GitHub
  • VS Code

Architecture

Customer
   |
React Application
   |
Supabase
   |-- Database
   |-- Authentication
   +-- Storage
   |
CMS Workflow

Getting Started

git clone <this-repository-url>
cd restaurant-management-platform
npm install
cp .env.example .env   # fill in your own Supabase keys
npm run dev

Deployment

The project can be deployed through:

  • Cloudflare
  • Vercel
  • Netlify

Payments (optional)

Online payment is fully wired but intentionally left unconfigured, so the site ships as a template. Until keys exist, every order is pay-at-counter.

  1. Add STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET as environment secrets.
  2. In Stripe, point a webhook at https://<your-domain>/api/public/payments/stripe-webhook and subscribe to checkout.session.completed, checkout.session.async_payment_succeeded, checkout.session.async_payment_failed, checkout.session.expired.
  3. Deploy. Takeaway checkout then redirects to Stripe Checkout; dine-in stays pay-at-counter.

Key files: src/lib/payments.server.ts, src/lib/payments.functions.ts, src/routes/api/public/payments/stripe-webhook.ts, src/routes/order.$code.tsx.

Security Notes

  • .env files are git-ignored; only .env.example is committed.
  • Never commit service-role keys or Stripe secrets.
  • All staff actions are protected by authentication and Row Level Security policies.

About

A production-ready AI restaurant platform for Softlight Cafe, featuring CMS, database, authentication, and business management workflows.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages