You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
⚠️ Note: These routes are examples. You may add, edit, or remove routes based on your
implementation needs. All images should be optional, but if a person need image, only allow url
string.
Public Routes
Route
Page
Description
/
Home
Hero, categories, featured
/meals
Browse Meals
List with filters
/meals/:id
Meal Details
Info, add to cart
/providers/:id
Provider
Menu, info
/login
Login
Login form
/register
Register
Registration form
Customer Routes (Private)
Route
Page
Description
/cart
Cart
View cart items
/checkout
Checkout
Delivery address
/orders
My Orders
Order history
/orders/:id
Order Details
Items, status
/profile
Profile
Edit info
Provider Routes (Private)
Route
Page
Description
/provider/dashboard
Dashboard
Orders, stats
/provider/menu
Menu
Manage meals
/provider/orders
Orders
Update status
Admin Routes (Private)
Route
Page
Description
/admin
Dashboard
Statistics
/admin/users
Users
Manage users
/admin/orders
Orders
All orders
/admin/categories
Categories
Manage categories
Database Tables
Design schema for the following tables:
● Users - Store user information and authentication details
● ProviderProfiles - Provider/restaurant-specific information (linked to Users)
● Categories - Food categories (cuisine types)
● Meals - Menu items offered by providers
● Orders - Customer orders with items and status
● Reviews - Customer reviews for meals
💡 Think about what fields each table needs based on the features above.
API Endpoints
⚠️ Note: These endpoints are examples. You may add, edit, or remove endpoints based on
your implementation needs.
FoodHub is a full-stack web application for meal ordering. Customers can browse menus from various food providers, place orders, and track delivery status. Providers can manage their menus and fulfill orders. Admins oversee the platform and manage all users.
Role 1: Customer
Description: Users who order meals
Permission: Browse menus, place orders, track status, leave reviews
Role 2: Provider
Description: Food vendors/restaurant
Permission: Manage menu, view orders, update order status
Role 3: Admin
Description: Platform moderators
Permission: Manage all users, oversee orders, moderate content
Role Note: Users select their role during registration. Admin accounts should be seeded in the database.
Feature Requirements
Public Features:
● Browse all available meals and providers
● Filter meals by cuisine, dietary preferences, and price
● View provider profiles with menus
Customer Features:
● Register and login as customer
● Add meals to cart
● Place orders with delivery address (Cash on Delivery)
● Track order status
● Leave reviews after ordering
● Manage profile
Provider Features:
● Register and login as provider
● Add, edit, and remove menu items
● View incoming orders
● Update order status
Admin Features:
● View all users (customers and providers)
● Manage user status (suspend/activate)
● View all orders
● Manage categories
Important Notes (Image)
Only allow image fields as URL strings (no file uploads)
GitHub Commit Types (Conventional Commits)
feat(Scope): Add a new feature to the project.
fix(Scope): Fix a bug in the code.
chore: Maintenance tasks that do not affect application functionality.
docs: Changes related to documentation only.
style: Code style changes (formatting, spaces, semicolons). No logic change.
refactor(Scope): Rewrite or improve code without changing functionality.
perf(Scope): Performance improvements.
test(Scope): Add or update tests.
build: Changes affecting build system or dependencies.
ci: Changes related to CI/CD pipelines.
revert: Revert a previous commit.