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.
- 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.
- 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.
- ReactJS: For building dynamic and responsive user interfaces.
- CSS: For styling and layout management.
- Redux: For state management.
- 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.
- Figma: For designing UI/UX wireframes and ensuring mobile-friendly layouts.
- 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.
-
Clone the Repository:
cd Alcove -
Frontend Setup:
- Navigate to the frontend directory:
cd frontend - Install the required dependencies:
npm install
- Start the ReactJS frontend:
npm start
- Navigate to the frontend directory:
-
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
- Navigate to the backend directory:
- Open your browser and navigate to
http://localhost:3000to access the frontend. - The backend API runs on
http://localhost:5000.
- Users can sign up and log in to manage their orders and view daily menus.
- Admins can manage meals, set up daily menus, and track orders and revenue.
- Customers can view daily menus, place orders, and receive notifications.
- Contributions are welcome! Please fork this repository and submit a pull request with your changes.
The project is licensed under MIT License
