Zestify - Multi-Tenant Restaurant SaaS with AI Chat

Bluehost Shared Hosting

Zestify – Multi-Tenant Restaurant SaaS with AI Chat

Skip 6 months of development. Ship a production-ready Restaurant SaaS today.

Zestify is a complete, production-ready multi-tenant restaurant management SaaS built with a modern three-application architecture — and the only restaurant script with built-in dual AI assistants that actually do things. Zesty (customer chat) searches menus, books tables, and adds items to cart. Manager (admin chat) answers ops questions with real tool-calling. Includes a Node.js REST API, React/Vite admin dashboard, and Next.js customer app — all TypeScript, fully documented.

Live Admin Dashboard Demo: https://zestify-dashboard.vercel.app/login

Live Client App Demo: https://zestify-client.vercel.app/

Demo Credentials

Try the live demo instantly with these credentials:

  • Demo Admin: use One Click Login on the admin login page (read-only)
  • Client App (Customer): demo@zestify.com / Demo123!

Note: Demo admin accounts are read-only. All write operations are blocked in demo mode.

What Is Included

The download contains three separate, fully wired applications plus documentation for each one.

  • Zestify API (api/) – Node.js and Express.js REST API. Dual AI engine (Zesty + Manager personas), authentication, multi-tenancy, orders, reservations, payments, OTP email flows, and all business logic. Everything else depends on this running first.
  • Admin Dashboard (admin-dashboard/) – React and Vite management interface for restaurant owners and staff. Includes Manager AI assistant at /assistant, tenant management, menu and product management, orders, reservations, blog, gallery, coupons, customer management, and settings.
  • Client App (client-app/) – Next.js public-facing restaurant website. Zesty AI chat widget on every page plus a full /chat page — menu search, table booking, Add to Cart from chat cards. Shop, checkout (Stripe / PayPal), reservations, blog, and customer dashboard.

A Postman collection is included in the root of the download to test every API endpoint immediately after setup.

Core Architecture – True Multi-Tenancy

The central feature of Zestify is its true multi-tenant architecture. One installation of the platform can serve unlimited restaurants simultaneously. Each tenant gets completely isolated data, its own admin access, and its own branded client app, all managed from a single codebase and a single super admin account.

  • Data Isolation – Each restaurant tenant’s data is fully separated. No cross-contamination between tenants at any level.
  • Role-Based Access Control – Super admin, tenant admin, and customer roles each with appropriate permission sets.
  • Unlimited Tenants – Add as many restaurants as needed without performance loss or code changes.
  • Centralised Control – Manage all restaurants from one super admin account with full visibility across tenants.
  • Production-Ready Architecture – Architecture decisions made for real-world scale from day one.

How the Three Apps Connect

The API is the single source of truth. Both frontends communicate with the API over REST and JSON. They never communicate with each other. Default development ports are API on 5000, Admin Dashboard on 5173, and Client App on 3000.

Setup order matters. Always start the API first, then the Admin Dashboard, then the Client App. The Client App requires a Tenant ID obtained from the Admin Dashboard before it can display any data.

Admin Dashboard Features

  • Dashboard overview with revenue, order counts, customer totals, and sales trend charts built with Recharts
  • Platform overview for super admins — aggregate stats across all tenants with tenant switcher
  • Tenant management – create and manage multiple restaurant tenants from a single super admin account
  • Orders management – view, filter by status and payment status, update order and payment status
  • Reservations management – view bookings, filter by date, source tracking, confirm or cancel
  • Menu and product management – categories, stock, nutrition, allergens, images, prices, tags, and featured toggle
  • Cloudinary image uploads – reusable upload input across products, gallery, blogs, chefs, partners, services, and page builders; upload a file or paste an image URL
  • Customer management – accounts, order history, addresses, loyalty points, and PDF export
  • Coupons and discounts – percentage or fixed-amount codes with usage limits and expiry dates
  • Blog management – posts with rich content, slugs, categories, images, and comment moderation
  • Gallery management – upload, categorise, and preview restaurant photos
  • Chef profiles – team pages with photos, bios, roles, and social links
  • Page Builder – Landing, Menu, and Layout builders without touching code
  • Partners and services management
  • Testimonials and reviews
  • Notification centre for orders, reservations, messages, low stock, and system events
  • Newsletter subscriber list
  • Contact message inbox with reply, read, and importance flags
  • Restaurant settings including business hours, tax, delivery fee, loyalty program, branding, and social links
  • Admin profile and password management
  • One-time super-admin setup UI and OTP-based login with optional bypass for development
  • HttpOnly cookie sessions with CSRF protection
  • Manager AI Assistant – Full chat UI at /assistant with session history. Read-only ops tools: order stats, revenue, inventory alerts, pending reservations, top sellers
  • AI Settings – Choose provider (Gemini / Groq / Claude) in Settings; API keys configured server-side in api/.env

Client App Pages and Features

  • CMS-driven homepage with configurable section order from the Admin Page Builder
  • Menu page with category browsing from CMS / API
  • Shop with product grid, filters, search, sort, nutrition, reviews, and related products
  • Cart and wishlist with localStorage for guests and server sync for logged-in customers
  • Checkout with Stripe, PayPal, cash on delivery, coupon codes, and loyalty point redemption
  • Table reservation form with available-slot checking
  • Zesty AI Chat – Floating chat bubble (bottom-right) on all pages plus dedicated /chat page with session history
  • Interactive menu cards in chat — Add to Cart and Add to Wishlist buttons wired to the same cart state as the shop
  • AI-powered reservation booking via chat (checkAvailability → bookReservation in one conversation)
  • Customer auth with HttpOnly cookies, CSRF, and optional OTP
  • Forgot password flow with two-step OTP verification
  • Customer dashboard with overview, orders, favorites, addresses, and settings
  • Blog listing and detail pages with threaded comments, replies, and likes
  • Gallery page with image lightbox
  • Chef team page and individual chef profile pages
  • Services and partners pages
  • Contact page with form submission
  • Fully responsive across desktop, tablet, and mobile
  • SEO-friendly with Next.js App Router, metadata, and Open Graph tags

Technology Stack

API and Backend: Node.js, Express.js 5, MongoDB, Mongoose, TypeScript, JWT with HttpOnly cookie sessions and CSRF, Stripe, PayPal, Resend for transactional email and OTP, Cloudinary signed uploads, Winston for logging, Jest and Supertest for testing, Docker support with included Dockerfile and docker-compose, AssistantEngine with Gemini / Groq / Anthropic providers and iterative tool-calling

Admin Dashboard: React 19, TypeScript, Vite 7, Tailwind CSS 4, Recharts for analytics charts, React Router DOM 7, jsPDF and AutoTable for PDF exports, React Toastify for notifications, Lucide React for icons

Client App: Next.js 15 with App Router, React 19, TypeScript, Tailwind CSS 4, Swiper for carousels, React Toastify, SSR and SEO optimised

Security: Helmet, CORS with credentials support, CSRF protection, HttpOnly cookie sessions for admin and customer apps, HPP protection, express-rate-limit, bcrypt password hashing, input validation with Validator, signed Cloudinary uploads (API secret server-side only), environment variable management with dotenv

API Endpoints Included

The API covers authentication (including one-time super-admin setup and demo account management), customer authentication, signed image uploads via Cloudinary, products and menu (including reviews and nutrition), blog posts and comments, chef profiles, orders, reservations, coupons, loyalty points, Stripe payments, PayPal payments, gallery, testimonials, partners, settings, services, CMS pages (home and menu), dashboard analytics, platform analytics, notifications, tenant management, messages, newsletter subscriptions, AI chat (/api/chat/zesty/* for customers, /api/admin/chat/manager/* for admins), and a health check endpoint. Full endpoint list is documented in the included API documentation and Postman collection.

Testing

The API ships with a Jest-based test suite covering health checks, authentication flows, tenant isolation, and an end-to-end product workflow. Tests run against an in-memory MongoDB instance using mongodb-memory-server so no live database is required to run them. Watch mode and coverage reporting are supported via npm scripts.

Deployment Options

API: Docker and Docker Compose files are included. Supports deployment on Render free tier, Railway, DigitalOcean, AWS EC2, Hetzner, Linode, or any Linux VPS. Includes a built-in self-ping keep-alive for Render free tier. Nginx configuration example is included in the documentation.

Admin Dashboard: Static SPA built with Vite. Deploys to Vercel, Netlify, Cloudflare Pages, or any static host. SPA routing configuration is pre-configured for Netlify via a _redirects file.

Client App: Next.js application requiring a Node.js runtime. Recommended deployment target is Vercel for zero-configuration Next.js hosting. Netlify is also supported.

Requirements

  • Node.js v18 or higher
  • npm v9 or higher
  • Git (any recent version)
  • MongoDB Atlas account – free M0 tier is sufficient for development and testing; a live restaurant with real order and customer volume will need a paid M10+ cluster once free-tier storage and connection limits are exceeded (see included documentation for details)
  • Resend account for OTP email – free tier allows up to 100 emails per day; higher-volume restaurants will need a paid Resend plan once that limit is exceeded. Required only when OTP authentication is enabled
  • Stripe developer account – required only when enabling card payment processing. Stripe charges a per-transaction processing fee on successful payments, billed directly to the account owner
  • PayPal developer account – required only when enabling PayPal checkout. PayPal charges a similar per-transaction processing fee, billed directly to the account owner
  • Cloudinary account – optional, needed for in-dashboard image file uploads (pasting an image URL still works without it)
  • Docker Desktop – optional, only needed for containerised local development or Docker-based deployment
  • AI provider API key – at least one of Google Gemini, Groq, or Anthropic Claude (Groq offers a generous free tier for development). Keys are set in api/.env only — never exposed to the frontend

Documentation

All three applications ship with their own detailed HTML documentation inside the download. Each documentation file covers installation steps, all environment variables with explanations and examples, feature walkthroughs, deployment guidance for multiple platforms, and a FAQ and troubleshooting section.

  • README.html – Start here. Overview of all three apps, setup order, architecture diagram, and links to individual docs.
  • api-doc/index.html – API documentation covering endpoints, environment variables, Docker setup, deployment, super admin creation, multi-tenancy explanation, and FAQ.
  • admin-dashboard-doc/index.html – Admin dashboard documentation covering all features, setup, environment variables, deployment, and troubleshooting.
  • client-app-doc/index.html – Client app documentation covering all pages, customer authentication, cart and wishlist, payment methods, deployment, and FAQ.
  • Zestify.postman_collection.json – Postman collection for testing all API endpoints.

Best For

  • Developers needing a scalable, well-structured multi-tenant SaaS starter with Node.js, React, and Next.js
  • SaaS founders building a restaurant platform product to sell as a service
  • Agencies developing restaurant management systems for clients
  • Multi-branch food businesses that need centralised management with per-branch data isolation
  • Restaurant and cafe owners needing a complete management and ordering platform

Third-Party Libraries and Services

  • Node.js and npm – JavaScript runtime and package manager
  • Express.js – Web framework for the REST API
  • MongoDB Atlas – Managed cloud database
  • Mongoose – MongoDB object modelling for Node.js
  • React and React DOM – Admin dashboard UI library
  • Next.js – Client app framework with App Router and SSR
  • Vite – Admin dashboard build tool
  • Tailwind CSS – Utility-first styling system used across both frontends
  • Recharts – Charts and analytics visualisations in the admin dashboard
  • Stripe – Card payment processing
  • PayPal – Alternative payment gateway
  • Resend – Transactional email and OTP delivery
  • Cloudinary – Signed server-side image uploads
  • Google Gemini – Primary AI provider for Zesty and Manager chat
  • Groq – Alternative AI provider with generous free tier
  • Anthropic Claude – Alternative AI provider
  • jsPDF and AutoTable – PDF export in the admin dashboard
  • Swiper – Carousel and slider component in the client app
  • Winston – Server-side logging
  • Helmet, HPP, express-rate-limit – Security middleware
  • bcryptjs – Password hashing
  • jsonwebtoken – JWT authentication tokens
  • Jest and Supertest – API testing suite
  • mongodb-memory-server – In-memory MongoDB for isolated test runs
  • Lucide React – Icon library used in the admin dashboard
  • React Toastify – Toast notification system

Changelog

  • v1.1.0 – Dual AI assistants. Zesty customer chat (menu search, reservations, cart/wishlist from chat cards). Manager admin chat (order stats, revenue, inventory, reservations). Multi-provider AI (Gemini, Groq, Claude). Iterative tool-call loop. Next.js security upgrades. Landing page refresh.
  • v1.0.0 – Initial release. Includes REST API, Admin Dashboard, and Client App with full multi-tenant architecture, order and reservation management, Stripe and PayPal payments, OTP authentication, blog, gallery, coupons, reports, and complete documentation for all three applications.

Support

For questions, support requests, or licensing enquiries, please use the CodeCanyon comments section or contact the author directly via the support email listed on the CodeCanyon profile page.

0 average based on 0 ratings.

ReactTemplateBuilder

ReactTemplateBuilder

Visit Author's Portfolio

View Portfolio
Last Update 2026-09-16
Created 2026-08-27
Sales 2
Discussion Comments
Compatible Browsers Firefox Safari Opera Chrome Edge
Software Version ReactJS Node.js
High Resolution Yes
Files Included JavaScript JS JavaScript JSON HTML CSS
Video Preview Resolution 1920x1032