Developed a Telegram Restaurant Mini App & Bot for Order Management
Project Overview
I built a full-stack Telegram ordering system combining a Next.js Mini App with a NestJS backend. The goal was to let customers place restaurant orders directly inside Telegram while giving staff a structured, automated workflow behind the scenes.
- Customer-facing Mini App built with Next.js for fast ordering inside Telegram.
- Backend API built with NestJS handling orders, status flow, and admin actions.
- SQLite database used for lightweight persistence and blacklist control.
- Telegram authentication for secure user access via widget login.
- Telegram Bot automation for routing orders between admin and staff groups.


Customer Experience (Mini App)
The frontend focuses entirely on speed and simplicity. Customers can browse a menu, build an order, and complete checkout in a few steps without leaving Telegram.
- Dynamic menu system organized by categories and items.
- Cart system with real-time updates and item management.
- Simple 3-step checkout flow:
- 1. Customer details (name, phone, address, notes)
- 2. Branch selection
- 3. Payment choice (Cash on Delivery or QR payment)
- Telegram login integration for secure identity verification.
- Direct submission of orders to backend via Telegram Web App API.



Backend System (Order Workflow Engine)
The backend is responsible for turning raw orders into a structured workflow that staff can manage in real time.
- Incoming orders are sent to an admin (boss) Telegram group with action buttons.
- Admin can confirm or cancel orders instantly.
- Confirmed orders are forwarded to a staff group for preparation.
- Order lifecycle management: Confirmed → Preparing → Delivering → Completed.
- Blacklist system prevents flagged users from placing new orders.
- Supports multiple concurrent orders with isolated workflows.
- No customer-side status spam — updates are internal only.

How It Was Built (21-Day Build Process)
The system was built in a structured 3-week cycle, focusing first on core functionality, then backend automation, and finally full integration and testing.
- Week 1: Built the Next.js Mini App, menu system, cart, and checkout flow with Telegram login.
- Week 2: Developed NestJS backend, order routing logic, and blacklist system using SQLite.
- Week 3: Connected frontend and backend, tested multi-order scenarios, fixed edge cases, and deployed via Telegram Web App.
Deployment Setup
The system is split between frontend and backend hosting to ensure reliability and scalability.
- Frontend deployed as a Telegram Web App via BotFather configuration.
- Backend hosted on Render for continuous API availability.
- SQLite used for lightweight operational data and blacklist storage.
Why This System Works Well
- Minimal friction ordering directly inside Telegram.
- Clear internal workflow for staff reduces confusion.
- Automated routing replaces manual order handling.
- Lightweight backend keeps performance fast and stable.
- Blacklist protection prevents abuse without slowing users down.
- Scales naturally with multiple simultaneous orders.
If you come this far, thank you.