Skip to content

openshiporg/openfront-restaurant

Repository files navigation

openfront-restaurant

Deploy with Vercel

Deploy on Railway

Openfront Restaurant is a specialized version of the Openfront platform designed specifically for the food and beverage industry. It provides a complete suite of tools for restaurant management, including Point of Sale (POS), Kitchen Display Systems (KDS), table management, menu engineering, and waitlist handling.

Demo

craft-burgers.mp4
Storefront craft-burgers.openship.org
Dashboard craft-burgers.openship.org/dashboard
User craft@openship.org
Password xZZ8nqW&!KT1^S6b45c^gwmv51Y50y!y@a*

Learn more →

Documentation →

Core Features

Point of Sale (POS)

A modern, touch-optimized POS interface for staff to take orders, manage tables, and process payments. Supports complex modifications, split checks, and real-time synchronization with the kitchen.

Kitchen Display System (KDS)

Streamline your back-of-house operations with a digital KDS. Orders from the POS appear instantly, allowing chefs to manage preparation times, mark items as ready, and coordinate with the front-of-house.

Table & Seating Management

Visualize your floor plan and manage guest seating in real-time. Track table status (Available, Occupied, Dirty, Reserved) and optimize your restaurant's capacity.

Menu Engineering

Manage complex menus with categories, products, variants, and modifiers. Set up happy hours, seasonal specials, and digital menus that update across all devices instantly.

Waitlist & Reservations

Integrated waitlist management with SMS notifications. Allow guests to join the waitlist remotely or at the door, and manage reservations to ensure smooth service.

AI Assistant

Streamline your restaurant operations with our MCP-powered AI Assistant.

  • Menu Management: Add new menu items or update prices via natural language.
  • Operational Efficiency: Mark items out-of-stock or update table status through chat.
  • Permission Safe: The AI respects your user role's permissions, calling the same API as the POS and Dashboard.

Architecture

Technology Stack

  • Frontend: Next.js 15 with App Router
  • Backend: KeystoneJS 6 with GraphQL API
  • Database: PostgreSQL with Prisma ORM
  • Styling: Tailwind CSS 4 with shadcn/ui components
  • Real-time: GraphQL Subscriptions & SWR for live updates

Application Structure

openfront-restaurant/
├── app/                    # Next.js App Router
│   ├── dashboard/         # Admin platform interface
│   ├── pos/              # Point of Sale interface
│   ├── kds/              # Kitchen Display System
│   └── api/              # API endpoints and webhooks
├── features/
│   ├── keystone/         # Backend models and GraphQL schema
│   ├── platform/         # Admin platform components
│   ├── pos/             # POS-specific components
│   └── kds/             # KDS-specific components
└── components/           # Shared UI components

Getting Started

Prerequisites

  • Node.js 20+
  • PostgreSQL database
  • npm, yarn, pnpm, or bun

Setup

  1. Clone and install dependencies:

    git clone https://github.com/openship-org/openfront-restaurant.git
    cd openfront-restaurant
    npm install
  2. Configure environment variables:

    cp .env.example .env

    Update .env with your configuration:

    # Required - Database Connection
    DATABASE_URL="postgresql://username:password@localhost:5432/openfront_restaurant"
    
    # Required - Session Security
    SESSION_SECRET="your-very-long-session-secret-key-here-32-chars-minimum"
    
    # Optional - S3 Storage for Food Images
    S3_BUCKET_NAME="your-bucket-name"
    S3_REGION="us-east-1"
    S3_ACCESS_KEY_ID="your-access-key"
    S3_SECRET_ACCESS_KEY="your-secret-key"
  3. Start development server:

    npm run dev
  4. Access the application:

Security & Permissions

Role-Based Access Control

  • canManageMenu - Edit products and prices
  • canAccessPOS - Access the ordering interface
  • canAccessKDS - Access kitchen prep view
  • canManageWaitlist - Manage guest flow
  • canViewReports - Financial and operational analytics

Documentation

For comprehensive technical documentation, see docs.openship.org/docs/openfront/restaurant

License

This project is licensed under the MIT License - see the LICENSE file for details.


Built on top of next-keystone-starter

About

Toast alternative using Next.js and Keystone.js

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors