Arxivga qaytish
IV. Mijoz loyihalari va logistika platformalariqo'shimchalidermijoz anonimlashtirilgan

Ovqat yetkazish Telegram bot — restoran tarmog'i (UZ)

Restaurant chain (UZ)Bot (paket chopar_bot v2.0.0) — Restaurant chain (UZ)/Restaurant chain (UZ) uchun productionда ishlaydigan Telegram ovqat-yetkazib berish boti: Telegraf sahnalari + Bun ustidagi Elysia API, MongoDB, Redis sessiyalari, Bull navbatlari, i18n (ru/uz/en), shtrix-kod generatsiyasi, metrikalar.

Holat
qo'llab-quvvatlanadi
Davr
2021-12-08 → 2025-07-10
AI sessiyalar
Stek
Tillar
TypeScriptJavaScript
Freymvorklar · Infra
TelegrafElysia.jsBunMongoDBRedisBull/BullMQ
§01

Umumiy ko'rinish

  • Bu nima: Restaurant chain (UZ) (va Restaurant chain (UZ) — umumiy kod) uchun ovqat buyurtma qilish/yetkazib berish Telegram boti. Telegraf sahnalarida to'liq suhbatga asoslangan buyurtma oqimi, tashqi triggerlar (bildirishnomalar/lokatsiyalar/rejalashtirish) uchun Elysia REST API, vazifa navbatlari va ko'p tilli UI.
  • Turi / holati / roli: bot · maintained (oxirgi kommit 2025-07-10) · lead — foydalanuvchi asosiy muallif: 265 kommitdan ~139 tasi (Davron Yuldashev 59 + Davron 37 + Davr 34 + Davr@iMac 6 + Dave93 3); hammualliflar — Salim aka-ukalari (shahaa 78 + Shahzod 10) va boshqalar.
  • Faollik davri: 2021-12-08 → 2025-07-10 — ~3.5 yil, uzoq umr ko'rgan production bot.
§02

Stek

  • Tillar: TypeScript (yangi kod, src/) + JavaScript (eski kod, controllers/) — TS'ga o'tish jarayonidagi gibrid kod bazasi.
  • Freymvorklar/kutubxonalar: Bun (runtime); Telegraf 4 + sahnalar (telegraf-i18n, @telegraf/session, telegraf-session-redis/-local); Elysia.js (API + Swagger + CORS + Eden); MongoDB (driver 4); sessiyalar uchun Redis (ioredis); Bull + BullMQ (+ bull-board) navbatlari; Sentry (xatolarni kuzatish); prom-client / express-prometheus-middleware (Prometheus metrikalari); shtrix-kod generatsiyasi (bwip-js, canvas, bardcode); rejalashtirgichlar (node-cron, agenda, sfn-scheduler); luxon; winston; cheerio; string-similarity.
  • Infra/deploy: PM2 (pm2.config.js), productionда webhook rejimi, bun build --target bun orqali build. Uchta lockfayl (bun/yarn/npm).
  • Ma'lumotlar: MongoDB (lesailes_bot), Redis (sessiyalar + navbatlar), tashqi API api.restaurant-chain.uz.
  • E'tiborga molik tooling: Redis-sessiya migratsiya/inspektsiya skriptlari (scripts/*.cjs), health/queue_info endpointlari.
§03

Nima qilindi

3.5 yil davomida 139 ta muallifiy kommit (diff'lar/xabarlar bo'yicha):

  • Suhbatga asoslangan buyurtma oqimi: start, startOrder, menu, myOrders, review, settings, callback sahnalari (src/scenes/); myOrders'ni TS'ga refaktor qilish (06346a2, −1197 eski helperlarni o'chirish; 3ac66ee oqim boshqaruvi + /start da sessiyani tozalash).
  • Yetkazib berish biznes-mantig'i: yetkazib berish narxi (d653fcd, f3d5a1b), og'irlik (02eef03), to'lov turlari (85824d1), o'zi olib ketish (35829c8), narx tuzatishlari (4117fdd).
  • API: reply-to-message (a1cff3d), schedule_event/send_notify/send_location/queue_info/health (Elysia).
  • Infra yetukligi: Redis sessiyalariga o'tish (alohida README_REDIS_SESSIONS.md + migrate skriptlari), Bull navbatlari, Prometheus metrikalari, Sentry, 3 tilli i18n.
  • 2025-07 refaktori: JS→TS migratsiyasi, xatolarni qayta ishlash va importlarni yaxshilash (697379a), server binarisi .gitignore'ga ko'chirildi.
  • Ko'lami: 265 kommit; barqaror ko'p yillik evolyutsiya (v2.0.0).
§04

Texnik chellenjlar

Arxitektura (CLAUDE.md/package.json) va diff'lar bo'yicha (foydalanuvchi tomonidan yozilgan — asosiy kommitchi):

  • Moslashuvchan sessiya saqlash (dev'da LocalSession → prod'da Redis, Redis ishlamay qolganda in-memory'ga fallback; JS→Redis migratsiya skriptlari). → Ko'lamda production darajasidagi dialog-holat boshqaruvi.
  • Vazifa navbatlari (Bull/BullMQ + bull-board) kechiktirilgan bildirishnomalar/broadcastlar uchun (schedule_event, send_notify) — botni fon ishlovidan ajratish. → Navbatga asoslangan arxitektura.
  • Kuzatuvchanlik (observability): Telegram botda Prometheus metrikalari (prom-client) + Sentry tracing — botlar uchun kam uchraydigan yetuklik darajasi.
  • Gibrid JS→TS migratsiyasi noldan qayta yozmasdan, jonli production botda (sahnalar bosqichma-bosqich src/scenes/ ga ko'chiriladi). → Texnik qarzni boshqarish.
  • 3 tilli i18n telegraf-i18n orqali, til sessiyada saqlanadi; buyurtmalar uchun shtrix-kod generatsiyasi (bwip-js/canvas).
  • Ogohlantirish: CLAUDE.md bo'yicha "xatolar ko'pincha yutib yuboriladi", testlar yo'q — texnik qarzli tipik production bot.
  • Foydalanuvchining ma'lum tajribasiga mos keladi: Telegraf Scenes/WizardScene, Bull+Redis, MongoDB, i18n.
§05

AI yordamida ishlab chiqish

  • Topilgan sessiyalar: 0 (bu loyiha uchun Claude Code sessiyalari katalogi yo'q; to'liq yo'lni normallashtirish orqali tekshirildi). Lokal .claude/ + CLAUDE.md (rus tilida) mavjud → AI yordami bo'lishi mumkin, lekin sessiyalar bu yerda qayd etilmagan.
  • AI bilan nima qilingan: transkriptlar yo'q; CLAUDE.md Claude Code uchun tuzilgan.
  • AI vorkflow patternlari: hujjatlar AI uchun tuzilgan, ammo bu katalogda to'g'ridan-to'g'ri sessiyalar yo'q.
§06

Yutuqlar va metrikalar

  • Yirik yetkazib berish brendi (Restaurant chain (UZ)/Restaurant chain (UZ)) uchun production Telegram bot, v2.0.0, ~3.5 yildan beri ishlamoqda.
  • 7 ta suhbat sahnasi, REST API, navbatlar, metrikalar, 3 til, Redis sessiyalari.
§07

Hissa qo'shganlar

git shortlog · barcha branchlar

  1. Dave93144
  2. shahzodsalimsakov88
  3. root20
  4. Boburt9
  5. i76717573
  6. User1
6 hissadorjami 265 ta kommit
Hozirda

Senior / Staff muhandis rollari va tanlab olingan frilansga ochiqman — prodakshn AI, platforma va full-stack ishlar.

Bog'lanish