Skip to content

Scan & Dine is a MERN stack web application aimed at modernizing dining experiences. It allows customers to scan QR codes to access digital menus, book tables, and place orders seamlessly.

Notifications You must be signed in to change notification settings

tarunlkr6/yummy-dispatch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Scan & Dine

Overview

Scan & Dine is a fully-functional and innovative web application built with the MERN stack. It bridges the gap between traditional dining and modern technology, offering a convenient and efficient dining experience. The platform enables customers to scan QR codes to access digital menus, book tables, and manage orders. Simultaneously, it empowers restaurant owners with an admin dashboard for streamlined operations.

home-page

Features

  • QR Code Scanning: Scan QR codes at restaurant tables to access the menu.
  • Digital Menu: Browse and explore restaurant menus digitally.
  • Table Booking: Reserve tables in advance to avoid waiting times.
  • Order Management: Place, modify, and track orders in real-time.
  • Admin Dashboard: Manage menu items, monitor orders, and view booking statistics.

Technologies Used

  • Frontend: React.js with Redux Toolkit for state management.
  • Backend: Node.js with Express.js for RESTful API development.
  • Database: MongoDB for efficient data storage.
  • QR Code: Integrated QR code generation and scanning libraries.
  • Authentication: JSON Web Tokens (JWT) for secure user authentication.
mern-stack

Demo and Screenshots

Screenshot from 2024-12-16 06-21-39

Screenshot from 2024-12-16 06-22-10

Screenshot from 2024-12-16 06-22-10

Screenshot from 2024-12-16 06-25-15

Installation

Prerequisites

  • Node.js (v20 or above)
  • MongoDB (Local or Cloud Instance)
  • npm

Steps

  1. Clone the repository:

    git clone https://github.com/tarunlkr6/yummy-dispatch.git
    cd yummy-dispatch
    
  2. Install Dependencies:

    • Backend:
    cd backend
    npm install
    
    • Frontend:
    cd frontend
    npm install
    
    • Admin:
    cd admin
    npm install
    
  3. Set up environment variables:

    • Create a .env file in the root directory and configure the following:
    NODE_ENV = development
    
    PORT = 8080
    
    MONGO_URI = <Your mongoDB connection string>
    
    CORS_ORIGIN = *
    
    ACCESS_TOKEN_SECRET =
    ACCESS_TOKEN_EXPIRY =
    
    REFRESH_TOKEN_SECRET = 
    REFRESH_TOKEN_EXPIRY =
    
    CLOUDINARY_CLOUD_NAME = 
    CLOUDINARY_API_KEY = 
    CLOUDINARY_API_SECRET = 
    BACKEND_URL = 
    BACKEND_LOCAL_URL = 'http://localhost:8080'
    
    SERVICE_MAIL = <your gmail>
    SENDER_NAME = scan&Dine
    CLIENT_ID = <gmail api client id>
    CLIENT_SECRET = <gmail api client secret>
    REDIRECT_URI = https://developers.google.com/oauthplayground
    REFRESH_TOKEN = <oauthplaygroud refresh token string>
    PAYPAL_CLIENT_ID =
    
  4. Run the application:

    npm run dev
    
  5. Access the application:

Project Structure

yummy-dispatch/
|-- admin/
|   |-- public/
|   |-- src/
|       |-- assets/
|       |-- components/
|       |-- pages/
|       |-- App.jsx
|       |-- Main.jsx
|       |-- index.css
|-- backed/
|    |-- src/
|        |-- controllers/
|        |-- db/
|        |-- mails/
|        |-- middlewares/
|        |-- models/
|        |-- routes/
|        |-- utils/
|        |-- app.js
|        |-- constants.js
|        |-- server.js
|-- frontend/
|     |-- public/
|     |-- src/
|          |-- assets/
|          |-- components/
|          |-- configs/
|          |-- context/
|          |-- lib/
|          |-- pages/
|          |-- slices/
|          |-- App.jsx
|          |-- constants.js
|          |-- store.js
|-- package.json
|-- Readme.md

Usage

  • For Customers: Scan the QR code placed on restaurant tables to view the menu, book tables, and place orders effortlessly.
  • For Restaurant Owners: Use the admin dashboard to manage menus, view customer bookings, and monitor orders.

Future Enhancements

  • Analytics: Provide detailed analytics for restaurant owners.
  • Mobile App: Develop native apps for Android and iOS platforms.

People

The author of scan & dine is Sukhranjan Jana

About

Scan & Dine is a MERN stack web application aimed at modernizing dining experiences. It allows customers to scan QR codes to access digital menus, book tables, and place orders seamlessly.

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •