A comprehensive database management system designed for Newcomb Hall's school cafeteria, built with Django. This system efficiently manages restaurant data, student orders, and financial transactions to streamline cafeteria operations.
https://www.youtube.com/watch?v=NgTMrLiHwJI
- Create, edit, and delete student food orders
- Real-time balance checking and validation
- Order history tracking
- Multiple item selection with quantity management
- Complete student profile management
- Computing ID integration with UVA email system
- Account balance tracking
- Order history viewing
- Search functionality by Computing ID or name
- Restaurant profile creation and management
- Menu and pricing management
- Operating hours tracking
- Restaurant search functionality
- Total revenue tracking
- Restaurant-wise revenue breakdown
- Popular items analysis
- Student ordering statistics
- Average order value calculations
- Backend: Django
- Frontend: Bootstrap 5
- Database: SQLite (development) / PostgreSQL (production)
- JavaScript for dynamic interactions
-
Clone the repository
-
Create and activate a virtual environment: bash python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies: bash pip install -r requirements.txt
-
Apply migrations: bash python manage.py migrate
-
Load initial data: bash python manage.py loaddata initial_data.json
-
Run the server: bash python manage.py runserver
core/: Main application directorymodels.py: Database models for Restaurant, Menu, Item, Student, and Orderviews.py: View functions for handling requeststemplates/: HTML templates for the frontendfixtures/: Initial data for testing
student_order_project/: Project settings and configuration
/api/student/<id>/details/: Get student details/api/restaurant/<id>/menu-items/: Get restaurant menu items/api/order/<id>/: Get order details/api/students/search/: Search students/api/restaurants/search/: Search restaurants
- CSRF protection
- Form validation
- Balance verification for orders
- Computing ID format validation
- Lijie Chen
- Jiayu Li
- Celine Zhou
- Linda Mu
This project is licensed under the MIT License - see the LICENSE file for details.