Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Rustic Roots - Restaurant Management System

A modern, full-stack restaurant management application featuring a delightful guest experience and a powerful admin portal.

πŸš€ Overview

Rustic Roots is designed to streamline restaurant operations, from table selection and order management to kitchen processing and real-time status tracking.

Key Features

  • 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.

πŸ› οΈ Tech Stack

  • Frontend: React 19, Vite, TypeScript, Tailwind CSS, Framer Motion.
  • Icons: Lucide React.
  • Charts: Recharts.
  • State Management: React Context API.
  • Testing: Vitest, React Testing Library.

πŸ“¦ Installation & Setup

Prerequisites

  • Node.js (v18+)
  • npm or yarn

Getting Started

  1. Clone the repository:

    git clone <repository-url>
    cd restaurant-manager
  2. Install dependencies:

    cd frontend
    npm install
  3. Configure Environment: Create a .env file in the frontend directory:

    VITE_API_BASE_URL=http://localhost:5000/api
  4. Run Development Server:

    npm run dev

πŸ§ͺ Testing

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:coverage

πŸ—οΈ Architecture

The 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.

πŸ“„ License

MIT License

Releases

Packages

Contributors

Languages