<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Pakawat Udomlap</title>
    <description>The latest articles on DEV Community by Pakawat Udomlap (@fewlnwza).</description>
    <link>https://dev.to/fewlnwza</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3900279%2F279df25a-a3d3-4421-a0bd-52c6b6745a75.jpg</url>
      <title>DEV Community: Pakawat Udomlap</title>
      <link>https://dev.to/fewlnwza</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fewlnwza"/>
    <language>en</language>
    <item>
      <title>User Guide and System Manual of Food Ordering &amp; Delivery System (Project: Stack-Over-Food)</title>
      <dc:creator>Pakawat Udomlap</dc:creator>
      <pubDate>Wed, 29 Apr 2026 09:47:55 +0000</pubDate>
      <link>https://dev.to/fewlnwza/user-guide-and-system-manual-of-food-ordering-delivery-system-project-stack-over-food-5fbb</link>
      <guid>https://dev.to/fewlnwza/user-guide-and-system-manual-of-food-ordering-delivery-system-project-stack-over-food-5fbb</guid>
      <description>&lt;h2&gt;
  
  
  User Guide
&lt;/h2&gt;

&lt;p&gt;🧑‍🍳 System Overview&lt;br&gt;
The Food Ordering &amp;amp; Delivery System is a web-based application designed to simplify online food ordering, payment, and delivery.&lt;/p&gt;

&lt;p&gt;The system supports three main user roles:&lt;br&gt;
Customer (User) – order food and make payments&lt;br&gt;
Restaurant Owner – manage menus and orders&lt;br&gt;
Rider (Delivery) – accept and deliver orders&lt;/p&gt;

&lt;p&gt;Each role has specific functionalities to support their workflow within the platform.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxmoq8376w3e3tquvwtws.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxmoq8376w3e3tquvwtws.png" alt=" " width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🔐 1. Account Management&lt;br&gt;
1.1 User Registration &amp;amp; Login&lt;br&gt;
For All Users (Customer, Owner, Rider)&lt;br&gt;
Navigate to the main page&lt;/p&gt;

&lt;p&gt;Click Register if you don’t have an account&lt;br&gt;
Enter:&lt;br&gt;
Name&lt;br&gt;
Email&lt;br&gt;
Password&lt;br&gt;
Click Register&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fojeybs185undo719a51w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fojeybs185undo719a51w.png" alt=" " width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;For login:&lt;br&gt;
Go to Login Page&lt;br&gt;
Enter credentials&lt;br&gt;
Click Login&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhc66jqnkmdiyanke8sxg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhc66jqnkmdiyanke8sxg.png" alt=" " width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;1.2 Update Account Information&lt;br&gt;
Steps:&lt;br&gt;
Click Setting&lt;br&gt;
Select Edit Profile&lt;br&gt;
Update your information&lt;br&gt;
Click Save Changes&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fac6wz7hvpc424otqjm60.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fac6wz7hvpc424otqjm60.png" alt=" " width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🍔 2. Food Ordering (Customer)&lt;br&gt;
2.1 Browse Restaurants &amp;amp; Menu&lt;br&gt;
Navigate to Browse Page&lt;br&gt;
Select a restaurant&lt;br&gt;
View menu items&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7osyxdtivgzbvgp97dms.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7osyxdtivgzbvgp97dms.png" alt=" " width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2.2 Add to Cart &amp;amp; Checkout&lt;br&gt;
Click Add to Cart&lt;br&gt;
Go to Cart Page&lt;br&gt;
Click Checkout&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp9kb9kdw7va4alawn2ac.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp9kb9kdw7va4alawn2ac.png" alt=" " width="800" height="395"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;💳 3. Payment System (PromptPay QR)&lt;br&gt;
3.1 Make Payment&lt;br&gt;
System generates QR Code&lt;br&gt;
Scan QR using banking app&lt;br&gt;
Enter the exact amount&lt;br&gt;
Upload payment slip&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2a6ql6vdtf0zzrzbkv8x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F2a6ql6vdtf0zzrzbkv8x.png" alt=" " width="800" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3.2 Payment Rules&lt;br&gt;
Payment must be completed within 10–15 minutes&lt;br&gt;
If not completed → order becomes FAILED&lt;/p&gt;

&lt;p&gt;📦 4. Order Status (Customer View)&lt;br&gt;
Status &amp;amp; Description&lt;br&gt;
PENDING: Waiting for payment&lt;br&gt;
PAID: Payment confirmed&lt;br&gt;
COOKING: Preparing food&lt;br&gt;
WAIT_FOR_DELIVER: Waiting for rider&lt;br&gt;
DELIVERING: On the way&lt;br&gt;
COMPLETED: Delivered&lt;br&gt;
CANCELLED: Cancelled by user&lt;br&gt;
FAILED: Payment expired&lt;/p&gt;

&lt;p&gt;🚚 5. Delivery Process (Rider)&lt;br&gt;
5.1 Accept Job&lt;br&gt;
Navigate to Available Jobs&lt;br&gt;
Click Accept Order&lt;/p&gt;

&lt;p&gt;5.2 Deliver Order&lt;br&gt;
Status updates to DELIVERING&lt;br&gt;
Deliver food to customer&lt;br&gt;
Click Complete Order&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filxcub9dus52w1tp3avl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Filxcub9dus52w1tp3avl.png" alt=" " width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🏪 6. Restaurant Management (Owner)&lt;br&gt;
6.1 Add Menu Items&lt;br&gt;
Go to Dashboard&lt;br&gt;
Click Add Menu&lt;br&gt;
Enter:&lt;br&gt;
Name&lt;br&gt;
Price&lt;br&gt;
Image&lt;br&gt;
Preparation Time&lt;br&gt;
Click Save&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmenvemq8k8b0y97tigpr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmenvemq8k8b0y97tigpr.png" alt=" " width="800" height="392"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6.2 Manage Orders&lt;br&gt;
View incoming orders&lt;br&gt;
Update status:&lt;br&gt;
COOKING&lt;br&gt;
WAIT_FOR_DELIVER&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxsg2k0m7ni7kermauvvy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxsg2k0m7ni7kermauvvy.png" alt=" " width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⚠️ 7. Troubleshooting&lt;br&gt;
Issue                      Solution&lt;br&gt;
Payment not updated Wait or refresh&lt;br&gt;
Upload failed           Check file format&lt;br&gt;
Order expired           Place new order&lt;/p&gt;
&lt;h2&gt;
  
  
  🍽 Food Ordering &amp;amp; Delivery System - System Manual
&lt;/h2&gt;

&lt;p&gt;📑 Table of Contents&lt;br&gt;
System Overview&lt;br&gt;
User Roles &amp;amp; Access Control&lt;br&gt;
Functional Specifications&lt;br&gt;
 3.1 Account Management&lt;br&gt;
 3.2 Order System&lt;br&gt;
 3.3 Payment System&lt;br&gt;
 3.4 Delivery System&lt;br&gt;
System Architecture Overview&lt;br&gt;
API and Technology Stack&lt;br&gt;
System Requirements&lt;br&gt;
Security Considerations&lt;br&gt;
Maintenance and Scalability&lt;/p&gt;

&lt;p&gt;🧾 System Overview&lt;br&gt;
The system connects customers, restaurants, and riders into a single platform.&lt;/p&gt;

&lt;p&gt;Customers place orders&lt;br&gt;
Restaurants prepare food&lt;br&gt;
Riders deliver orders&lt;/p&gt;

&lt;p&gt;🔐 User Roles &amp;amp; Access Control&lt;br&gt;
👤 Customer&lt;br&gt;
Register &amp;amp; login&lt;br&gt;
Browse menus&lt;br&gt;
Place orders&lt;br&gt;
Upload payment slips&lt;br&gt;
Track orders&lt;/p&gt;

&lt;p&gt;🏪 Owner&lt;br&gt;
Manage menu&lt;br&gt;
View restaurant orders&lt;br&gt;
Update order status&lt;/p&gt;

&lt;p&gt;🚴 Rider&lt;br&gt;
View available jobs&lt;br&gt;
Accept delivery tasks&lt;br&gt;
Complete deliveries&lt;/p&gt;

&lt;p&gt;⚙️ Functional Specifications&lt;br&gt;
3.1 👤 Account Management&lt;br&gt;
User registration&lt;br&gt;
JWT authentication&lt;br&gt;
Profile management&lt;/p&gt;

&lt;p&gt;3.2 🛒 Order System&lt;br&gt;
Add items to cart&lt;br&gt;
Checkout process&lt;br&gt;
Order creation&lt;br&gt;
Order status tracking&lt;/p&gt;

&lt;p&gt;3.3 💳 Payment System&lt;br&gt;
Generate PromptPay QR&lt;br&gt;
Upload receipt&lt;br&gt;
Auto verification&lt;br&gt;
Payment expiration (10–15 min)&lt;/p&gt;

&lt;p&gt;3.4 🚚 Delivery System&lt;br&gt;
Rider job assignment&lt;br&gt;
Accept order&lt;br&gt;
Deliver &amp;amp; complete&lt;/p&gt;

&lt;p&gt;🏗 System Architecture Overview&lt;br&gt;
Frontend: Next.js (Tailwind CSS)&lt;br&gt;
Backend: NestJS (Node.js)&lt;br&gt;
Database: PostgreSQL&lt;br&gt;
Authentication: JWT&lt;/p&gt;

&lt;p&gt;🌐 API and Technology Stack&lt;br&gt;
API Type: RESTful API&lt;br&gt;
Frontend: Next.js + TypeScript&lt;br&gt;
Backend: NestJS&lt;br&gt;
Database: PostgreSQL&lt;br&gt;
ORM: Sequelize&lt;/p&gt;

&lt;p&gt;🧰 Server-Side Requirements&lt;br&gt;
6.1.1 Server-Side&lt;br&gt;
Processor:   Intel(R) Core(TM) i7-7700HQ &lt;a href="mailto:CPU@2.80GHz"&gt;CPU@2.80GHz&lt;/a&gt; 2.81 GHz &lt;br&gt;
Installed memory (RAM):   8.00 GB (7.89 GB usable) &lt;br&gt;
System type:   64-bit Operating System, x64-based process &lt;br&gt;
Operating System:   Windows 10 &lt;/p&gt;

&lt;p&gt;6.1.2 Client-Side Requirements&lt;br&gt;
CPU: Intel i5 / Ryzen 5&lt;br&gt;
RAM: 8GB+&lt;br&gt;
Browser: Chrome&lt;br&gt;
Internet: 10 Mbps&lt;/p&gt;

&lt;p&gt;6.2 Software Development Specifications&lt;br&gt;
Backend: Node.js (NestJS)&lt;br&gt;
Frontend: Next.js&lt;br&gt;
Database: PostgreSQL&lt;br&gt;
CI/CD: GitHub Actions&lt;/p&gt;

&lt;p&gt;Code Repositories&lt;br&gt;
The project codebase is maintained across the following repositories:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;🔧 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
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;🔒 Security Considerations&lt;br&gt;
JWT Authentication&lt;br&gt;
Role-based access control&lt;br&gt;
HTTPS encryption&lt;br&gt;
Input validation&lt;br&gt;
Duplicate payment detection&lt;/p&gt;

&lt;p&gt;🔄 Maintenance and Future Scalability&lt;br&gt;
Maintenance&lt;br&gt;
Scheduled database backups&lt;br&gt;
Monitoring payment system&lt;br&gt;
API performance checks&lt;br&gt;
Future Improvements&lt;br&gt;
Real-time tracking&lt;br&gt;
Payment gateway integration&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>softwaredevelopment</category>
      <category>tutorial</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
