Skip to content

DhanaBalan2001/Restaurant-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

21 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🍽️ Fine Dine-in Restaurant Management System

Fine Dine-in Logo

Live Demo React Node.js MongoDB Socket.io

A comprehensive, full-stack restaurant management solution with real-time features, AI-powered insights, and multi-role architecture

🌟 Overview

Fine Dine-in is a cutting-edge restaurant management system that revolutionizes how restaurants operate. Built with modern technologies and featuring real-time capabilities, it provides a seamless experience for customers, staff, and administrators.

✨ Key Highlights

  • πŸš€ Real-time Operations - Live order tracking, kitchen displays, and instant notifications
  • πŸ€– AI-Powered Analytics - Machine learning insights for business optimization
  • πŸ’³ Multi-Payment Gateway - Stripe & Razorpay integration for global payments
  • πŸ“± Responsive Design - Perfect experience across all devices
  • πŸ” Role-Based Access - Secure multi-tier user management
  • 🌐 Multi-Branch Support - Scalable for restaurant chains
  • πŸ“Š Advanced Analytics - Comprehensive reporting and insights

🎯 Features

πŸ‘₯ Multi-Role Architecture

πŸ›‘οΈ Admin Dashboard

  • Analytics & Insights - Revenue tracking, customer analytics, performance metrics
  • Menu Management - Dynamic menu creation, pricing, categories
  • Staff Management - Employee onboarding, role assignment, performance tracking
  • Branch Management - Multi-location support and coordination
  • Inventory Control - Stock management, supplier tracking, automated alerts
  • User Management - Customer data, loyalty programs, feedback analysis

πŸ‘¨β€πŸ³ Staff Portal

  • Kitchen Display System - Real-time order management and preparation tracking
  • Order Processing - Status updates, preparation time estimation
  • Table Management - Seating arrangements, availability tracking
  • Real-time Notifications - Instant alerts for new orders and updates

🍽️ Customer Experience

  • Interactive Menu - Beautiful, searchable menu with detailed descriptions
  • Smart Reservations - Table booking with availability checking
  • Order Management - Cart functionality, order tracking, history
  • Secure Payments - Multiple payment options with secure processing
  • Loyalty Program - Points system and rewards tracking

πŸ”§ Technical Features

🌐 Real-time Communication

  • Socket.io Integration - Live updates across all user roles
  • Push Notifications - Instant alerts for orders, reservations, and updates
  • Live Order Tracking - Real-time status updates from kitchen to customer

πŸ€– AI & Machine Learning

  • TensorFlow.js Integration - Predictive analytics and insights
  • Demand Forecasting - AI-powered inventory and staffing predictions
  • Customer Behavior Analysis - Personalized recommendations

πŸ’° Payment Processing

  • Stripe Integration - International payment processing
  • Razorpay Support - Local payment gateway for Indian market
  • Secure Transactions - PCI-compliant payment handling

πŸ“Š Advanced Analytics

  • Revenue Analytics - Detailed financial reporting and trends
  • Customer Insights - Behavior analysis and segmentation
  • Performance Metrics - Staff efficiency and restaurant KPIs
  • Interactive Charts - Visual data representation with custom charts

πŸ› οΈ Technology Stack

Frontend

βš›οΈ  React 19.0.0          - Modern UI library with latest features
🎨  CSS3 & Flexbox        - Responsive, modern styling
🧭  React Router DOM      - Client-side routing
πŸ“  Formik & Yup          - Form handling and validation
🎯  React Icons           - Beautiful icon library
πŸ””  React Toastify        - Elegant notifications
πŸ“…  React DatePicker      - Date/time selection components
⚑  Vite                  - Lightning-fast build tool
🎨  React Spinners        - Loading animations

Backend

πŸš€  Node.js & Express     - High-performance server
πŸƒ  MongoDB & Mongoose    - NoSQL database with ODM
πŸ”  JWT & Bcrypt          - Secure authentication
🌐  Socket.io             - Real-time communication
πŸ“§  Nodemailer            - Email service integration
πŸ€–  TensorFlow.js         - Machine learning capabilities
πŸ’³  Stripe & Razorpay     - Payment processing
πŸ“  Swagger               - API documentation
πŸ§ͺ  Jest & Supertest      - Testing framework
πŸ“Š  Winston               - Advanced logging

DevOps & Deployment

🌐  Netlify              - Frontend deployment
☁️   Cloud Hosting        - Backend deployment
πŸ”„  Git & GitHub          - Version control
πŸ“¦  npm                   - Package management
πŸ”§  ESLint                - Code quality

πŸš€ Quick Start

Prerequisites

  • Node.js (v16 or higher)
  • MongoDB (local or cloud)
  • Git

Installation

  1. Clone the repository
git clone https://github.com/yourusername/restaurant-management.git
cd restaurant-management
  1. Backend Setup
cd server
npm install
  1. Environment Configuration
# Create .env file in server directory
MONGODB=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
STRIPE_SECRET_KEY=your_stripe_secret
RAZORPAY_KEY_ID=your_razorpay_key
RAZORPAY_KEY_SECRET=your_razorpay_secret
EMAIL_USER=your_email
EMAIL_PASS=your_email_password
PORT=5000
  1. Frontend Setup
cd ../client
npm install
  1. Start Development Servers
# Terminal 1 - Backend
cd server
npm start

# Terminal 2 - Frontend
cd client
npm run dev
  1. Access the Application
  • Frontend: http://localhost:5173
  • Backend API: http://localhost:5000

πŸ“± Screenshots & Demo

🏠 Homepage

Beautiful landing page with restaurant branding and easy navigation

πŸ“‹ Menu Management

Intuitive admin interface for managing menu items, categories, and pricing

πŸ‘¨β€πŸ³ Kitchen Display

Real-time order management system for kitchen staff

πŸ“Š Analytics Dashboard

Comprehensive analytics with interactive charts and insights

πŸ’³ Payment Integration

Secure payment processing with multiple gateway support

πŸ—οΈ Architecture

Frontend Architecture

src/
β”œβ”€β”€ components/          # Reusable UI components
β”‚   β”œβ”€β”€ admin/          # Admin-specific components
β”‚   β”œβ”€β”€ staff/          # Staff portal components
β”‚   β”œβ”€β”€ customer/       # Customer-facing components
β”‚   └── common/         # Shared components
β”œβ”€β”€ pages/              # Route-based page components
β”œβ”€β”€ services/           # API integration services
β”œβ”€β”€ context/            # React Context providers
β”œβ”€β”€ hooks/              # Custom React hooks
└── utils/              # Utility functions

Backend Architecture

server/
β”œβ”€β”€ controllers/        # Business logic handlers
β”œβ”€β”€ models/            # MongoDB schemas
β”œβ”€β”€ routes/            # API route definitions
β”œβ”€β”€ services/          # External service integrations
β”œβ”€β”€ middleware/        # Custom middleware
└── utils/             # Helper functions

πŸ” Security Features

  • JWT Authentication - Secure token-based authentication
  • Role-Based Access Control - Multi-tier permission system
  • Password Encryption - Bcrypt hashing for secure password storage
  • Input Validation - Comprehensive data validation with Joi
  • CORS Protection - Cross-origin request security
  • Rate Limiting - API abuse prevention
  • SQL Injection Prevention - MongoDB injection protection

πŸ“ˆ Performance Optimizations

  • Code Splitting - Lazy loading for optimal bundle sizes
  • Image Optimization - Compressed assets for faster loading
  • Caching Strategies - Efficient data caching mechanisms
  • Database Indexing - Optimized MongoDB queries
  • Real-time Updates - Efficient Socket.io event handling

πŸ§ͺ Testing

# Run backend tests
cd server
npm test

# Run frontend tests (if configured)
cd client
npm test

πŸ“š API Documentation

The API is fully documented using Swagger. Access the interactive documentation at: http://localhost:5000/api-docs

Key Endpoints

  • POST /api/auth/login - User authentication
  • GET /api/menu - Fetch menu items
  • POST /api/orders - Create new order
  • GET /api/reservations - Fetch reservations
  • POST /api/payments/stripe - Process Stripe payment

🀝 Contributing

We welcome contributions! Please follow these steps:

  1. Fork the repository
  2. Create a 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 licensed under the MIT License - see the LICENSE file for details.

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

Dhanabalan

πŸ™ Acknowledgments

  • React team for the amazing framework
  • MongoDB for the flexible database solution
  • Stripe & Razorpay for payment processing
  • Socket.io for real-time capabilities
  • All open-source contributors

πŸ“ž Support

For support, email support@finedine.com or join our Slack channel.


⭐ Star this repository if you found it helpful! ⭐

Made with ❀️ by DhanaBalan

About

Fine Dine-in - Modern restaurant management platform featuring real-time order tracking, AI-powered analytics, multi-payment gateways, role-based dashboards for admin/staff/customers, and seamless reservation system.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors