/Restaurant-Seat-Booking-Application

Application to reserve Seats in a Restaurant. Project made in 24 hrs for a Hackathon #inspirus2k21

Primary LanguagePythonMIT LicenseMIT

Restaurant Seat Booking System

The basic aim for implementing Restaurant Seat Reservation system is to eliminate the waiting time for the customers at restaurant for waiting for their turn for the service. This system would allow customers to view different restaurants listed on the application, and view the food offered; also reserve seats at any date and time according to their convenience and also pay in advance for the service they which they opted for. The Restaurant owners also get an interface to update the seats reservations and their services, also auto-generate invoice for the customers. Customer authentication is done using JWT (JSON Web Token). Database used is SQLite3 which is django's default database. Payment Gateway used is Razorpay.

🔗 Content

🧬 Event Overview

Me and my team participated in our first ever Hackathon event at Inspirus in October 2021 at Don Bosko College of Engineering, Goa. Me along with Akash Sanjeev and Sachin Padwalkar had participated as a team, where I was working on Django application (Backend), Saching was handling React application (Frontend) for the Administration Section and Akash was handling Androind application (Frontend).

👨‍👦‍👦 Team

  • Atharva Parkhe - Django Developer (Backend) - Python - LinkedIn, GitHub

  • Sachin Padwalkar - JavaScript - LinkedIn, GitHub - ReactJS Developer (Frontend)

  • Akash Sanjeev - Java - LinkedIn, GitHub - Android Developer (Frontend)

📃 Problem Statement

Problem Statement

📋 Features

  • USER AUTHENTICATION : Users can Signup for a new account, Verify thier email id, Login using email and password, make a Forgot request to reset thier password.

  • RESTAURANTS : Users can view all restaurants listed on the app.

  • BOOKING : User can make booking by selecting time-slots for a perticular service as per users choice.

  • SELLER AUTHENTICATION : Seller (Shop-keepers) can Signup for a new account, Verify thier email id, Login using email and password, make a Forgot request to reset thier password.

  • SELLER CMS : Seller can manage thier content on the site. They can add, modify, delete thier online shop and the products that they sell in thier shop.

  • SELLER ORDER MANAGEMENT : Seller can manage thier orders through the dashboard.

🧰 Tech Stack

  • BACKEND : Django (Python)

  • DATABASE : SQLite3

  • FRONTEND :

    • Admin Panel : React JS (Javascript)
    • Customer Application : Android (Java)

🛠 API Reference

Postman Endpoints : https://www.getpostman.com/collections/66bf66e50ebe0f8f60c3

Endpoints Endpoints

API Endpoints JSON file (for importing into thunderclient / postman) is available in the docs folder or click here

🔐 Environment Variables

To run this project, you will need to add the following environment variables to your .env file

  • EMAIL_ID - Email ID (which would be used to send emails)

  • EMAIL_PW - Email Password

ENV file

💻 Run Locally

Step#1 : Clone Project Repository

git clone https://github.com/atharvparkhe/Inspirus-Inspirathon-2k21-Restaurant-Seat-Booking-Application.git && cd Inspirus-Inspirathon-2k21-Restaurant-Seat-Booking-Application

Step#2 : Create Virtual Environment

  • If virtualenv is not istalled :
pip install virtualenv && virtualenv env
  • In Windows :
    env/Scripts/activate
  • In Linux or MacOS :
    source env/bin/activate

Step#3 : Install Dependencies

pip install --upgrade pip -r requirements.txt

Step#4 : Add .env file

  • ENV file contents
    • In Windows :
        copy .env.example .env
    • In Linux or MacOS :
        cp .env.example .env
  • Enter Your Credentials in the ".env" file. Refer Environment Variables

Step#5 : Run Server

python manage.py runserver
  • Open http://127.0.0.1:8000/ or http://localhost:8000/ on your browser.

Check the terminal if any error.

📄 Documentation

The docs folder contain all the project documentations and screenshots of the project.You can go through the presentation here

🌄 Screen-Shots

  • Authentication

Signup Login Forgot Forgot

  • Main

All Restaurants Single Restaurant Book Seat Past Bookings

🙋🏻‍♂️ Author

🤝 Connect with Atharva Parkhe

LinkedIn GitHub Twitter Instagram LeetCode YouTube Discord