Skip to content

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Alcove: Online Meal Booking App

Alcove Culinary

Introduction

Alcove is an intuitive online meal booking application designed to allow customers to effortlessly order food and for caterers to manage meal options and daily menus. This application provides a seamless experience for both customers and caterers, ensuring efficient order management and a smooth user experience.

Features

Core Features

  • User Authentication:
    • Customers can create an account and log in.
  • Meal Management (Admin/Caterer):
    • Add, modify, and delete meal options (e.g., Beef with rice, Beef with fries).
  • Menu Setup:
    • Admin can set up a daily menu by selecting meal options.
  • Menu Viewing & Ordering (Customers):
    • Customers can view the daily menu and place orders.
  • Order Modification:
    • Customers can change their meal choices after placing an order.
  • Order Management (Admin/Caterer):
    • View all orders placed by customers.
    • Track the total revenue generated by the end of the day.

Extra Features

  • Order History:
    • Customers can view their past orders.
    • Admin can view the order history of all customers.
  • Notifications:
    • Customers receive notifications when the daily menu is set.
  • Multi-Caterer Support:
    • The application supports multiple caterers.

Technology Stack

Frontend

  • ReactJS: For building dynamic and responsive user interfaces.
  • CSS: For styling and layout management.
  • Redux: For state management.

Backend

  • Python Flask: For handling server-side logic and API endpoints.
  • SQLAlchemy: As the database for storing user data, meal options, orders, and other relevant information.

Design & Prototyping

  • Figma: For designing UI/UX wireframes and ensuring mobile-friendly layouts.

Installation & Setup

Prerequisites

  • Node.js & npm: Required for running the ReactJS frontend.
  • Python & Flask: Required for running the backend server.
  • SQLAlchemy: The database system used in this project.

Installation Steps

  1. Clone the Repository:

    cd Alcove
    
  2. Frontend Setup:

    • Navigate to the frontend directory:
      cd frontend
    • Install the required dependencies:
      npm install
    • Start the ReactJS frontend:
      npm start
  3. Backend Setup:

    • Navigate to the backend directory:
      cd backend
    • Create a virtual environment and activate it:
      python3 -m venv venv
      source venv/bin/activate
    • Install the required Python packages:
      pip install -r requirements.txt
    • Set up the PostgreSQL database and apply migrations:
      flask db init
      flask db migrate
      flask db upgrade
    • Start the Flask backend server:
      flask run

Usage

Accessing the Application

  • Open your browser and navigate to http://localhost:3000 to access the frontend.
  • The backend API runs on http://localhost:5000.

Creating an Account & Logging In

  • Users can sign up and log in to manage their orders and view daily menus.

Admin/Caterer Functions

  • Admins can manage meals, set up daily menus, and track orders and revenue.

Customer Functions

  • Customers can view daily menus, place orders, and receive notifications.

Contributing

  • Contributions are welcome! Please fork this repository and submit a pull request with your changes.

Authors

Copyright and License Information

The project is licensed under MIT License

About

Alcove is designed to revolutionize restaurant management by integrating all key operations into one seamless platform. It aims to improve both the customer and admin experiences by offering a user-friendly interface for meal selection, order management, and menu setting.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages