Arian Khademolghorani

Arian Khademolghorani

Building Business Software Systems

HomeAboutBlog

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.
Menu screen
New order view
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.
Item quantity selector
Payment screen
Telegram login screen
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.
Order preparation view in Telegram
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.