Skip to content

kmeans27/restaurant-reservation-app-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Restaurant Reservation App

![Restaurant Reservation App]

Table of Contents

Overview

The Restaurant Reservation App is a web-based platform designed to streamline the process of managing restaurant information and handling customer reservations. Built with Flask, this application allows restaurant managers to create and edit restaurant profiles, assign multiple categories to each restaurant, and manage reservations through a robust API.

Features

  • Restaurant Management:

    • Create Restaurants: Add new restaurants with details such as name, address, phone number, description, and assign multiple categories.
    • Edit Restaurants: Update existing restaurant information and manage associated categories.
    • List Restaurants: View a comprehensive list of all registered restaurants along with their categories.
  • Category Management:

    • View Categories: Retrieve a list of all available restaurant categories.
    • Filter Restaurants by Category: Display restaurants filtered by selected categories.
  • Reservation Management:

    • Create Reservations: Allow customers to create reservations by specifying restaurant, date, time, number of people, and personal details.
    • Update Reservation Status: Enable restaurant managers to accept or decline reservations.
    • List Reservations: View all reservations associated with a particular restaurant.
  • API Endpoints:

    • Comprehensive API endpoints for interacting with restaurants, categories, and reservations.
    • Example usage with curl commands provided for easy integration.
  • User-Friendly Interface:

    • Intuitive frontend templates for managing restaurants and reservations.
    • Responsive design for optimal viewing on various devices.

Technology Stack

  • Backend:

    • Flask - Web framework for Python.
    • Flask-WTF - Form handling and CSRF protection.
    • SQLAlchemy - ORM for database interactions.
    • SQLite - Lightweight relational database.
  • Frontend:

    • HTML5 & CSS3 - Markup and styling.
    • JavaScript - Client-side interactivity.
  • Version Control:

    • Git - Version control system.
    • GitHub - Hosting for version control and collaboration.

API Documentation

Restaurants Endpoints

Categories Endpoints

Reservations Endpoints

  • POST /api/reservations

    • Create a new reservation
    • curl -X POST http://localhost:5000/api/reservations
      -H "Content-Type: application/json"
      -d '{ "restaurant_id": 1, "name": "Max Mustermann", "date": "2024-05-20", "time": "19:30", "number_of_people": 4, "timestamp": "2024-04-27T14:35:22Z" }'
  • POST /api/reservations/int:reservation_id

Next Steps

  1. Create a new API Endpoint to send reservation data to the Frontend APP + add to index.html api documentation + readme
  2. Define a unique identifier for the frontend user so we can differentiate between their information/reservations
  3. Create a login functionality and a way to sign up
  4. Create a Dashboard where the Restaurant sees their most important information clearly
  5. Create a navigation header to quickly navigate between sites
  6. Color code reservations according to their status pending/accepted/declined and their datetime (today, tomorrow, past,..)

About

includes backend, api and database as of now

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages