Restaurant management system with Point of Sale (POS) and Kitchen Display System (KDS). Built with Next.js, MongoDB, and TypeScript.
- Real-time order management with Server-Sent Events (SSE)
- Multi-workstation kitchen workflow with item status tracking (New, In Progress, Ready)
- Role-based access control (Owner, Admin, Staff)
- Inventory management
- Reporting and analytics
- Multi-language support (English/Spanish)
- Touch-friendly responsive UI
- Order creation and customization
- Payment processing
- Menu browsing with category filtering
- Workstation assignment for items
- Real-time order visualization
- Drag-and-drop order prioritization
- Multi-workstation workflow management
- Item status progression through workstations
- SSE for live updates
- MongoDB with Mongoose schemas
- Normalized data models for Orders, Menu Items, Workstations
- Indexed queries for performance optimization
- Docker integration for development environment
- Zustand stores for client-side state
- Separate stores for orders, menu, workstations, reports
- Optimistic UI updates
- SWR for data fetching and caching
-
Clone and install:
git clone <repository-url> cd chefcito npm install
-
Environment setup:
- Copy
.env.local.exampleto.env.local - Configure MongoDB connection string
- Copy
-
Database initialization:
npm run db:schema npm run db:setup-default-workstations
-
Development server:
npm run dev
Access at
http://localhost:9002
Items progress through workstations in a predefined sequence:
- New: Item arrives at workstation
- In Progress: Preparation started
- Ready: Preparation completed
The final workstation serves as the "Ready" station for serving staff.
npm run dev- Start development server with Turbopacknpm run build- Production buildnpm run start- Start production servernpm run lint- Code lintingnpm run db:schema- Initialize database schemanpm run db:init- Load sample datanpm run db:setup-default-workstations- Create Kitchen/Ready workstationsnpm run dev:debug- Debug mode with logging
- SSE endpoints at
/api/orders/events - Automatic revalidation with SWR
- Instant order propagation from POS to KDS
- Configurable workstation entities with position ordering
- Item transitions between workstations
- Status persistence per workstation
- Rollback functionality for error correction
- Order schema with embedded items
- Workstation schema with position tracking
- Menu item normalization with category relationships
- Indexed queries for performance
MIT License - see LICENSE file.