It covers what most small restaurants need: online ordering (delivery + pickup), menu management, table reservations, a kitchen display, coupon system, customer reviews, staff management, and a dashboard with analytics. Payments are handled through Stripe (with cash-on-delivery as a fallback).
Tech stack: Node.js/Express API, React frontends (admin + customer storefront), PostgreSQL/Prisma, Socket.IO for real-time updates, and a React Native mobile app. There's also a full documentation site.
Some numbers: 27k lines of TypeScript, 30 database models, 118 API endpoints, 330+ tests (unit, integration, and E2E with Playwright).
I built this because the existing open-source options in this space are mostly PHP/Laravel projects from the WordPress era. I wanted something modern, well-tested, and easy to self-host with Docker.
- GitHub: https://github.com/mighty840/kitchenasty - Docs & Website: https://kitchenasty.com - API docs: Swagger UI at /api/docs when running locally
Happy to answer questions about the architecture, self-hosting setup, or what it took to build.