QuickBite is a small Django web app for a restaurant pickup menu. Customers can browse products and keep a session shopping cart. The restaurant owner manages products in Django admin.
The Django project lives in Quick_Bite/.
Menu page (http://127.0.0.1:8000/):
Cart page (http://127.0.0.1:8000/cart/):
Customers can add a product, change its quantity (1 through 20), and remove it. The cart belongs to the browser session. There is no checkout.
These pictures are from a demo after two prices were edited in admin. A fresh loaddata uses the fixture prices in the table below: Chicken Wings 11.49 and Chocolate Milkshake 5.49.
- Python 3.12 or newer
- Git
git clone https://github.com/Ashwin-Dhakal/CSC_440.git
cd CSC_440/Quick_Bite
python3 -m venv venvActivate the virtual environment:
# macOS / Linux
source venv/bin/activate
# Windows
venv\Scripts\activateInstall dependencies, create the database, and load the five sample products:
pip install -r requirements.txt
python manage.py migrate
python manage.py loaddata products
python manage.py runserverOpen http://127.0.0.1:8000/.
Product create, edit, and delete are in Django admin. Create an owner account once:
python manage.py createsuperuserThen open http://127.0.0.1:8000/admin/ and sign in. Menu and cart pages do not require a customer account.
python manage.py loaddata products loads:
| Product | Price |
|---|---|
| Classic Cheeseburger | 9.99 |
| Chicken Wings | 11.49 |
| Chicken Momo | 10.99 |
| French Fries | 3.99 |
| Chocolate Milkshake | 5.49 |
Running loaddata products again overwrites those five rows, including any later edits made in admin.

