A proof-of-concept online-order app for a fictional cyberpunk-themed restaurant
General App Idea/Purpose
This is an app designed to order food online from The Neon Pyramid, a fictional cyberpunk restaurant serving pan-Eurasian fusion cuisine.
username = CharField(unique = True)
email = CharField(unique = True)
phone_num = CharField(unique = True)
address = CharField(unique = True)
password = CharField(unique = True)
paymentInfo = {
ccNum = CharField()
ccExp = DateTimeField([formats='%Y-%m-%d'])
ccSecCode = CharField()
}
created_at = DateTimeField(default = datetime.datetime.now)
total = FloatField()
user = [{ForeignKeyField(User, backref='orders')}]
title = CharField(unique = True)
price = FloatField()
image = CharField(unique = True)
description = CharField(unique = True)
category = CharField()
labels = [CharField()]
order = [{ForeignKeyField(Order, backref='dishes')}]
- User:
- create user: neonpyramid/users/register
- create login: neonpyramid/users/login
- get logout: neonpyramid/users/logout
- Menu:
- get index: neonpyramid/menu/
- get show: neonpyramid/menu/
- Order:
- get index: neonpyramid/order/
- create push dish to order: neonpyramid/order/
- destroy splice dish from order: neonpyramid/order/
- create checkout/payment: neonpyramid/order/checkout/
- destroy order: neonpyramid/order/
- show checkout/payment completed: neonpyramid/order/checkout/
- As a customer, I want to securely register and login to this app, so that my order history is documented.
- As a customer, I want to see a menu displayed with pictures, prices and descriptions of dishes.
- As a customer, I want to be able to add dishes to an order cart and see the subtotalled price change as I add more dishes.
- As a customer, I want to be able to pay for my order online and have it delivered to my address.
- Fullstack CRUD application using React (frontend) and Flask (backend)
- Ability to add dishes to an order cart and see prices dynamically totaled
- Be able to add payment info to complete orders online
- Professionally stylized
- Animations on certain responses
- Custom Logo
- API connectivity, i.e., order tracking via Google Maps, payments made through PayPal, Square, etc.
- Web accessibility for differently-abled customers.
- Add-ons for each menu item