A modern, full-stack restaurant management application featuring a delightful guest experience and a powerful admin portal.
Rustic Roots is designed to streamline restaurant operations, from table selection and order management to kitchen processing and real-time status tracking.
- Guest Experience:
- Interactive Table Selection (Landing Page).
- Digital Menu with smart quantity logic and modifier support.
- Real-time Order Status tracking with progress indicators.
- Optional special instructions (Notes) support.
- Admin Portal:
- POS (Point of Sale): Manage payments and track active table sessions.
- Kitchen Display (KDS): Real-time order queue with detailed modifier and note visibility.
- Dashboard: High-level overview of restaurant performance.
- Menu Management: Dynamic control over categories and products.
- Reliability:
- Offline-first persistence via LocalStorage.
- Robust session recovery for guest tables.
- Geofencing support for location-based order validation.
- Frontend: React 19, Vite, TypeScript, Tailwind CSS, Framer Motion.
- Icons: Lucide React.
- Charts: Recharts.
- State Management: React Context API.
- Testing: Vitest, React Testing Library.
- Node.js (v18+)
- npm or yarn
-
Clone the repository:
git clone <repository-url> cd restaurant-manager
-
Install dependencies:
cd frontend npm install -
Configure Environment: Create a
.envfile in thefrontenddirectory:VITE_API_BASE_URL=http://localhost:5000/api
-
Run Development Server:
npm run dev
The frontend includes a comprehensive automated QA suite using Vitest and React Testing Library.
# Run all tests
npm run test
# Run tests with UI
npm run test:ui
# Check code coverage
npm run test:coverageThe project follows a modular frontend architecture:
frontend/pages/: Page components grouped by domain (customer/admin).frontend/context/: Global state management.frontend/services/: API interaction layer.frontend/types/: Shared TypeScript interfaces.
MIT License