Skip to content

g1mishra/byteeat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

230 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

ByteEat - Restaurant Management System

A modern, full-stack restaurant management system featuring digital menus, QR code ordering, real-time order tracking, and comprehensive analytics.

ByteEat Dashboard

πŸš€ Features

Customer-Facing Features

  • QR Code Digital Menus - Contactless menu access via customized QR codes
  • Real-time Ordering - Place orders directly from tables without waiter intervention
  • Menu Categories & Search - Easy navigation with categorized items and search functionality
  • Order Tracking - Real-time order status updates (Pending β†’ Preparing β†’ Ready)
  • Responsive Design - Optimized for mobile, tablet, and desktop devices

Restaurant Management

  • Menu Management - Create, update, and organize menu items with images
  • Order Management - Track and manage customer orders in real-time
  • Table Management - Generate unique QR codes for each table
  • Analytics Dashboard - Insights into orders, revenue, and popular items
  • Staff Management - Role-based access control (Admin/Waiter)
  • Receipt Generation - Automatic receipt generation for completed orders

πŸ› οΈ Tech Stack

Frontend

  • Next.js 14 (App Router) - React framework for production
  • TypeScript - Type-safe code
  • TailwindCSS - Utility-first CSS framework
  • shadcn/ui - Re-usable component library
  • Lucide Icons - Beautiful icon set

Backend

  • Next.js API Routes - Serverless API endpoints
  • NextAuth.js - Authentication solution
  • Prisma ORM - Type-safe database client
  • MongoDB - NoSQL database

Additional Tools

  • Cloudinary - Image upload and storage
  • QR Code Generator - Dynamic QR code generation
  • React Hook Form - Form validation
  • Zod - Schema validation

πŸ“¦ Installation

Prerequisites

  • Node.js 18+ and npm/pnpm
  • MongoDB database (local or MongoDB Atlas)
  • Cloudinary account (for image uploads)

Setup

  1. Clone the repository
git clone https://github.com/g1mishra/byte-eat-ui.git
cd byte-eat-ui
  1. Install dependencies
pnpm install
# or
npm install
  1. Environment Configuration

Create a .env file in the root directory:

# Database
DATABASE_URL="mongodb+srv://<username>:<password>@cluster.xxxxx.mongodb.net/byte_eat_db"

# Cloudinary (Image Upload)
CLOUDINARY_CLOUD_NAME="your_cloud_name"
CLOUDINARY_API_KEY="your_api_key"
CLOUDINARY_API_SECRET="your_api_secret"

# NextAuth
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key-here"

# App Configuration
NEXT_PUBLIC_APP_URL="http://localhost:3000"
  1. Database Setup
pnpm migrate
# or
npm run migrate
  1. Run the development server
pnpm dev
# or
npm run dev

Open http://localhost:3000 to see the application.

πŸ“‚ Project Structure

byte_eat_ui/
β”œβ”€β”€ app/                      # Next.js app directory
β”‚   β”œβ”€β”€ [slug]/              # Dynamic customer-facing routes
β”‚   β”‚   └── view-cart/       # Order placement logic
β”‚   β”œβ”€β”€ manage/              # Restaurant management dashboard
β”‚   β”‚   └── restaurant/      
β”‚   β”‚       └── [restroId]/  
β”‚   β”‚           β”œβ”€β”€ manual-order/  # Manual order creation
β”‚   β”‚           β”œβ”€β”€ menu/          # Menu management
β”‚   β”‚           └── orders/        # Order management
β”‚   β”œβ”€β”€ api/                 # API routes
β”‚   └── onboarding/          # User onboarding
β”œβ”€β”€ components/              # React components
β”‚   β”œβ”€β”€ home/               # Landing page components
β”‚   └── ui/                 # Reusable UI components
β”œβ”€β”€ services/               # API service functions
β”‚   β”œβ”€β”€ order.services.ts   # Order-related operations
β”‚   β”œβ”€β”€ menu.services.ts    # Menu management
β”‚   └── helper.service.ts   # Helper functions
β”œβ”€β”€ lib/                    # Utility functions
β”œβ”€β”€ prisma/                 # Database schema
β”‚   └── schema.prisma       # Prisma schema definition
β”œβ”€β”€ public/                 # Static assets
β”œβ”€β”€ styles/                 # Global styles
└── types/                  # TypeScript type definitions

πŸ”‘ Key Files

Order Placement Logic

Menu Management

🚦 Available Scripts

# Development
pnpm dev          # Start development server

# Build
pnpm build        # Build for production

# Production
pnpm start        # Start production server

# Database
pnpm migrate      # Push database schema changes

# Code Quality
pnpm lint         # Run ESLint
pnpm prettier     # Format code with Prettier

πŸ—„οΈ Database Schema

The application uses 15+ database models including:

  • User, Restaurant, MenuItem, Category
  • Order, OrderItem, PriceItemMap
  • Table, Waiter, Analytics
  • And more...

See prisma/schema.prisma for the complete schema.

🌐 Deployment

Vercel (Recommended)

  1. Push your code to GitHub
  2. Import project to Vercel
  3. Add environment variables
  4. Deploy

Deploy with Vercel

Other Platforms

The application can be deployed to any platform supporting Next.js:

  • Netlify
  • Railway
  • AWS
  • DigitalOcean

πŸ“± Live Demo

Check out the live demo: https://byteeat.vercel.app

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“„ License

This project is open source and available under the MIT License.

πŸ‘¨β€πŸ’» Author

Jeevan Mishra

πŸ™ Acknowledgments


⭐ Star this repository if you find it helpful!

About

A modern, full-stack restaurant management system featuring digital menus, QR code ordering, and real-time order tracking.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages