Logistika platformasi · 2026
ALIGO
Yuk egalari, haydovchilar va bizneslarni bitta platforma orqali bog‘laydigan logistika ekotizimi — yukni e’lon qilishdan yetkazib berish, kuzatuv va baholashgacha bo‘lgan to‘liq tsikl.
Muhandislik ko‘rsatkichlari
- ~21k Kod qatori
- 54 API endpointlar
- 275 Avtomatlashtirilgan testlar
- 24 Mobil ekranlar
- 23 Backend modullar
- 3 Mijoz platformalari
Texnologiyalar
- Flutter
- Dart
- Material 3
- Light / Dark theme
- mapbox_maps_flutter
- geolocator
- socket_io_client
- firebase_messaging
- google_sign_in
- flutter_secure_storage
- fl_chart
- intl / l10n
- Node.js
- Express 5
- Socket.IO
- PostgreSQL
- SQLite (local)
- JWT
- bcrypt
- firebase-admin
- Telegraf
- Anthropic Claude SDK
- Mapbox Directions API
- express-rate-limit
- node:test
- Docker
- Docker Compose
- nginx
- Let's Encrypt / certbot
- PostgreSQL 16
- Render
Muammo
O‘zbekistonda yuk egalari va haydovchilar hamon bir-birini tarqoq kanallar orqali topadi — telefon qo‘ng‘iroqlari, Telegram guruhlari, shaxsiy tanishlar.
Buning natijasida narx noaniq, yuk holati ko‘rinmaydi, mos haydovchini topish qiyin, qaytish reyslari esa ko‘pincha bo‘sh ketadi. Ikki tomon o‘rtasida umumiy ish oqimi ham, obro‘ tarixi ham yo‘q.
Har ikkala tomonga yagona umumiy tizim kerak.
Yechim
ALIGO yuk egalari, haydovchilar va bizneslarni yagona logistika ekotizimida birlashtiradi.
Yuk egasi yukni e’lon qiladi — olib ketish nuqtasi, manzil, yuk turi, og‘irligi, narxi va maxsus talablar. Haydovchilar yaqin atrofdagi mos yukni topib, qabul qiladi. Shundan so‘ng yuk aniq holat mashinasi bo‘ylab harakatlanadi: qabul qilindi → yo‘lda → yakunlandi, so‘ngra ikkala tomon bir-birini baholaydi.
Bularning ustiga: real vaqt kuzatuvi, avtomatik narx hisoblash, determinatsiyalangan haydovchi moslashtiruvi, bildirishnomalar, Telegram integratsiyasi va AI yordam chati. Mobil ilova, Telegram bot, Telegram Mini App va admin panel — barchasi bitta Node.js API orqali ishlaydi.
Mening rolim
ALIGO’ni arxitekturadan ishlab chiqarishgacha yakka o‘zim qurdim.
Bu tizim va ma’lumotlar bazasi dizayni, backend va REST API, Socket.IO real vaqt qatlami, autentifikatsiya va avtorizatsiya, hamda to‘liq Flutter mobil ilovasini — 24 ekran va 41 qayta ishlatiladigan widget, uch tilda (~393 lokalizatsiya kaliti) — o‘z ichiga oldi.
Shuningdek, domen mantig‘i: yuk hayot tsikli, auto-dispatch moslashtiruv algoritmi, narxlash mexanizmi, bildirishnoma tizimi, Telegram bot va Mini App, AI yordam chati va admin panel — hamda Docker deploy, nginx va PostgreSQL ishlab chiqarish sozlamasi.
Arxitektura
Backend — servislarga bo‘lingan Express 5 monoliti — 10 ta ma’lumot modeli ustidagi 23 ta servis, 8 ta routerdagi 54 ta REST endpoint orqali ochilgan, ular yonida autentifikatsiya va real vaqt qatlami joylashgan.
Ma’lumotlar qatlami ishlab chiqarishda PostgreSQL, lokalda esa SQLite bilan ishlaydi — ilova DATABASE_URL o‘rnatilgan-o‘rnatilmaganiga qarab avtomatik almashadi, shu tufayli ilova mantig‘i ma’lumotlar bazasi muhitidan mustaqil qoladi.
Mijozlar — Flutter ilova, Telegram bot va Mini App, hamda admin panel — barchasi bitta API bilan REST va Socket.IO orqali muloqot qiladi.
- Mijozlar Flutter mobilTelegram bot · Mini AppAdmin panel
- Transport REST APISocket.IO
- Ilova Node.js · Express 5
- Domen ServislarAuthReal vaqt
- Ma’lumotlar PostgreSQL — ishlab chiqarishSQLite — lokal
Determinatsiyalangan haydovchi moslashtiruvi
Yuk e’lon qilinganda ALIGO uni haydovchilarga qoidaga asoslangan ballash tizimi orqali moslaydi — mashina o‘rganishi emas. Avval qattiq filtrlar ishlaydi (transport mosligi, bandlik, masofa cheklovlari); qolgan haydovchilar ballanadi, takliflar esa TTL bo‘yicha muddati o‘tadigan raundlarda, ichki rejalashtiruvchi tomonidan yuboriladi.
Ball yetti omilni birlashtiradi:
- 01 Masofa
- 02 Narx
- 03 Haydovchi reytingi
- 04 Qabul qilish tarixi
- 05 Sevimli marshrut
- 06 Muddat shoshilinchligi
- 07 Qaytish reysi mosligi
Algoritm determinatsiyalangan, tushuntirib bo‘ladigan va sinovdan o‘tkaziladigan. Haydovchini tanlashda AI ishtirok etmaydi.
Cheklangan Socket.IO kuzatuvi
Jonli joylashuv va yuk holati yangilanishlari Socket.IO real vaqt qatlami orqali ishlaydi. Har bir yukning o‘z xonasi bor va foydalanuvchi faqat o‘zi yuk egasi yoki tayinlangan haydovchi bo‘lgan yuk xonasiga qo‘shila oladi — shu sababli yukka oid ma’lumotlar begona foydalanuvchilarga yetib bormaydi.
Claude asosidagi yordam yordamchisi
ALIGO tarkibida Claude asosida qurilgan AI yordam yordamchisi bor, u o‘zbek, rus va ingliz tillarida javob beradi. AI API mavjud bo‘lmasa, tizim oldindan belgilangan javoblarga qaytadi.
Bu auto-dispatch’dan ataylab ajratilgan: yukni kim tashishini biznes qoidalari hal qiladi, AI esa faqat foydalanuvchilarga yordam beradi. AI qiymat qo‘shadigan joyda ishlatiladi, asosiy mantiqqa ulanmagan.
Muhandislik qarorlari
Nega Node.js + Express, Django emas
Python va Django mening asosiy texnologiyalarim orasida, lekin ALIGO’ning yadrosi real vaqt: haydovchi va yukni uzluksiz kuzatish, jonli yuk holati, asinxron bildirishnomalar, hamda Telegram va tashqi API integratsiyalari.
Node.js’ning hodisaga asoslangan, asinxron I/O modeli — Socket.IO bilan birga — bu yuk uchun tabiiy mos keldi va integratsiya qatlamini sodda hamda izchil saqladi. Bu Django real vaqtni uddalay olmaydi yoki Node umuman yaxshiroq degani emas; bu shu mahsulot uchun moslik qarori.
Tamoyil Texnologiya muammoga ergashishi kerak — aksincha emas.
Qiyinchiliklar
- 01
Bitta kod bazasi, ikkita ma’lumotlar bazasi
Lokal ishlab chiqishda SQLite, ishlab chiqarishda PostgreSQL ishlatiladi —
COUNT(),AVG(), sonli turlar va sana formatlari ikkalasida har doim bir xil ishlamaydi. Men so‘rov natijalarini JavaScript’da normallashtiraman, shunda ilovaning qolgan qismi bitta izchil ko‘rinishni oladi. - 02
Qabul qilishdagi poyga holatlari
Bir nechta haydovchi bir vaqtda bitta yukni qabul qilishga urinishi mumkin. Qabul qilish — bitta atomar
UPDATE … WHERE status = 'open', va qo‘lda qabul qilish ham, auto-dispatch takliflari ham bir xil holat o‘tish mantig‘idan o‘tadi — shu sababli bitta yuk ikki marta qabul qilinmaydi. - 03
AI’ni yadroga aylantirmaslik
Haydovchi moslashtiruvi ML emas, determinatsiyalangan biznes qoidalari sifatida ataylab qurilgan, bu uni bashorat qilinadigan, tushuntirib bo‘ladigan va sinovdan o‘tkaziladigan qiladi. Claude esa yordam chati uchun ishlatiladi.
- 04
Uxlab qolgan Render instansiyasi
Bepul Render tarifida backend uyg‘onishi uchun taxminan 50 soniya ketishi mumkin. Sessiyani tiklash retry-with-backoff bilan ishlaydi, shunda server ishga tushayotganda foydalanuvchilar noto‘g‘ri tarzda kirish ekraniga yo‘naltirilmaydi.
Natija
ALIGO — ishlaydigan uchdan-uchgacha logistika tizimi: Flutter mobil ilova, Telegram bot va Mini App, admin panel, hamda PostgreSQL’dagi Node.js / Express API.
U to‘liq ish oqimini qamrab oladi — e’lon qilish, topish, qabul qilish, olib ketish, real vaqt kuzatuvi, yetkazib berish va baholash — avtomatik narxlash, determinatsiyalangan moslashtiruv, bildirishnomalar va AI yordami bilan.
- Yukni e’lon qilish
- Topish
- Haydovchi qabul qiladi
- Olib ketish
- Real vaqt kuzatuvi
- Yetkazib berish
- Baholash
Integratsiyalar
- Firebase Cloud Messaging
Mobil qurilmalarga push bildirishnomalar.
- Telegram
Bot + Mini App — haydovchilar takliflar bilan to‘g‘ridan-to‘g‘ri Telegram ichida ishlashi mumkin.
- Mapbox Directions API
Narxlash va kuzatuv uchun masofa va marshrut hisoblash.
- Claude API
Ilova ichidagi AI yordam yordamchisi, oldindan belgilangan javoblar zaxirasi bilan.
Asosiy funksiyalar
- Telefon + parol
- Email OTP tiklash
- Google Sign-In
- Sessiyani tiklash
- Yuk egasi / Haydovchi rollari
- Profil
- Transport va imkoniyatlari
- Yuk e’lon qilish
- Yaqin yukni topish
- Transport mosligi bo‘yicha filtr
- Qabul qilish
- Olib ketish
- Yo‘lda
- Yakunlash
- Baholash
- Bekor qilish
- Kategoriyaga asoslangan narx
- Masofa
- Og‘irlik
- Maxsus jihoz
- Mapbox marshrut hisobi
- Yaqin haydovchilar va yuklar
- Shoshilinch yuklar
- Umumiy marshrutlar
- Narx tendensiyalari
- Oylik statistika
- Moslashtiruv ko‘rsatkichlari
- FCM push
- Ilova ichidagi bildirishnomalar
- Telegram DM
- AI yordam chati
- Admin panel
- Analitika
- Foydalanuvchini bloklash
Overview
ALIGO is a logistics ecosystem connecting cargo owners, drivers and businesses through one digital platform.
Built with a Flutter mobile application and a Node.js / Express backend, the system combines cargo management, real-time tracking, automatic pricing, deterministic driver matching, notifications, Telegram integration and an AI-powered support assistant — the full cargo lifecycle from publishing to delivery and rating.