A full-stack web application designed to streamline restaurant ordering for customers and improve operational efficiency for staff.
The Online Restaurant Management System provides a user-friendly platform for ordering food, managing customers, tables, food items, and staff operations. It addresses issues commonly found in restaurant websites such as unclear navigation and incomplete information.
- Register, Login, Logout
- Browse restaurant info and food categories
- Search food by name
- View food details
- Add/delete items in cart
- Choose dine-in or takeaway
- Provide feedback
- Manage personal information
- Login, Logout
- Update personal profile
- Manage tables
- Search/update customers
- Add/edit/delete food items
- View/delete orders
- Update order status
- Dine-in / takeaway workflow
- Table booking validation
- Stock updates
- VIP discount
- Staff updates order states
- Prevent purchase when stock = 0
- Browse homepage
- Search food
- Must log in to buy
Includes entities: customer, staff, cart, orders, food, food category, address, desk, feedback and relationship sets.
- 60,000 entries for customer/cart/food
- 10 entries for staff and tables
- Customer owns one cart
- Staff and customer roles are disjoint
All entities use proper PKs & FKs such as:
- customer(customer_id)
- staff(staff_id)
- food(food_id)
- orders(order_id)
- evaluate(order_id, customer_id)
- not_in_customer: Prevent duplicate staff/customer IDs
- check_table_from_dine_in: Ensure table exists
- check_table_use_table: Prevent multiple customers from using the same table
This system demonstrates:
- Web development
- PHP + MySQL
- Database schema design
- Trigger implementation
- UI/UX development
- Team collaboration