User Guide
π§βπ³ System Overview
The Food Ordering & Delivery System is a web-based application designed to simplify online food ordering, payment, and delivery.
The system supports three main user roles:
Customer (User) β order food and make payments
Restaurant Owner β manage menus and orders
Rider (Delivery) β accept and deliver orders
Each role has specific functionalities to support their workflow within the platform.
π 1. Account Management
1.1 User Registration & Login
For All Users (Customer, Owner, Rider)
Navigate to the main page
Click Register if you donβt have an account
Enter:
Name
Email
Password
Click Create Account
For login:
Go to Login Page
Enter credentials
Click Login
1.2 Update Account Information
Steps:
Click Setting
Select Edit Profile
Update your information
Click Save Changes
π 2. Food Ordering (Customer)
2.1 Browse Restaurants & Menu
Navigate to Browse Page
Select a restaurant
View menu items
2.2 Add to Cart & Checkout
Click Add to Cart
Go to Cart Page
Click Checkout
π³ 3. Payment System (PromptPay QR)
3.1 Make Payment
System generates QR Code
Scan QR using banking app
Enter the exact amount
Upload payment slip
3.2 Payment Rules
Payment must be completed within 10β15 minutes
If not completed β order becomes FAILED
π¦ 4. Order Status (Customer View)
Status Description
WAITING Waiting for payment
PAID Payment confirmed
COOKING Preparing food
WAIT_FOR_DELIVER Waiting for rider
DELIVERING On the way
COMPLETED Delivered
CANCELLED Cancelled by user
FAILED Payment expired
π 5. Delivery Process (Rider)
5.1 Accept Job
Navigate to Available Jobs
Click Accept Order
5.2 Deliver Order
Status updates to DELIVERING
Deliver food to customer
Click Complete Order
πͺ 6. Restaurant Management (Owner)
6.1 Add Menu Items
Go to Dashboard
Click Add Menu
Enter:
Name
Price
Image
Preparation Time
Click Save
6.2 Manage Orders
View incoming orders
Update status:
COOKING
WAIT_FOR_DELIVER
β οΈ 7. Troubleshooting
Issue Solution
Payment not updated Wait or refresh
Upload failed Check file format
Order expired Place new order
π½ Food Ordering & Delivery System - System Manual
π Table of Contents
System Overview
User Roles & Access Control
Functional Specifications
β3.1 Account Management
β3.2 Order System
β3.3 Payment System
β3.4 Delivery System
System Architecture Overview
API and Technology Stack
System Requirements
Security Considerations
Maintenance and Scalability
π§Ύ System Overview
The system connects customers, restaurants, and riders into a single platform.
Customers place orders
Restaurants prepare food
Riders deliver orders
π User Roles & Access Control
π€ Customer
Register & login
Browse menus
Place orders
Upload payment slips
Track orders
πͺ Owner
Manage menu
View restaurant orders
Update order status
π΄ Rider
View available jobs
Accept delivery tasks
Complete deliveries
βοΈ Functional Specifications
3.1 π€ Account Management
User registration
JWT authentication
Profile management
3.2 π Order System
Add items to cart
Checkout process
Order creation
Order status tracking
3.3 π³ Payment System
Generate PromptPay QR
Upload receipt
Auto verification
Payment expiration (10β15 min)
3.4 π Delivery System
Rider job assignment
Accept order
Deliver & complete
π System Architecture Overview
Frontend: Next.js (Tailwind CSS)
Backend: NestJS (Node.js)
Database: PostgreSQL
Authentication: JWT
π API and Technology Stack
API Type: RESTful API
Frontend: Next.js + TypeScript
Backend: NestJS
Database: PostgreSQL
ORM: Sequelize
π§° Server-Side Requirements
6.1.1 Server-Side
Processor: Intel(R) Core(TM) i7-7700HQ CPU@2.80GHz 2.81 GHz
Installed memory (RAM): 8.00 GB (7.89 GB usable)
System type: 64-bit Operating System, x64-based process
Operating System: Windows 10
6.1.2 Client-Side Requirements
CPU: Intel i5 / Ryzen 5
RAM: 8GB+
Browser: Chrome
Internet: 10 Mbps
6.2 Software Development Specifications
Backend: Node.js (NestJS)
Frontend: Next.js
Database: PostgreSQL
CI/CD: GitHub Actions
Code Repositories
The project codebase is maintained across the following repositories:
π§ Backend - Node.js(Nest.js): https://github.com/Fewlnwza/Project-Stack-Over-Food/tree/master/backend
π₯ Frontend - React.js(Next.js): https://github.com/Fewlnwza/Project-Stack-Over-Food/tree/master/frontend
π Security Considerations
JWT Authentication
Role-based access control
HTTPS encryption
Input validation
Duplicate payment detection
π Maintenance and Future Scalability
Maintenance
Scheduled database backups
Monitoring payment system
API performance checks
Future Improvements
Real-time tracking
Payment gateway integration
This article was originally published by DEV Community and written by Pakawat Udomlap.
Read original article on DEV Community