Munitsipal hujjatlar va rejalar uchun «aqlli shahar» platformasi
Moydom (moydom.ru) «aqlli shahar» xizmatlarini yaratadi. Biz uning hujjatlar, bino rejalari va shahar xizmatlari jarayonlarini boshqarish uchun munitsipal platformasini qurdik. Shaharlar juda katta hajmda qog‘oz hujjat ishlab chiqaradi, ularga qavat rejalari, planimetriya va izohli xaritalar kabi vizual materiallar ham qo‘shiladi. Moydom ularning barchasini bitta multi-tenant tizimga jamlaydi, shuning uchun ish endi tarqoq fayllar va kompyuter dasturlariga bog‘liq emas.
Loyihani to‘rt nafar full-stack dasturchidan iborat jamoa bilan boshqardik: yetkazib berish 9–12 oy davomida iteratsiyalar bilan borgan, yo‘l xaritasini esa jarayon davomida mijoz bilan kelishib bordik.
Asosiy imkoniyatlar
- Hujjatlarni qayta ishlash: yuklangan hujjatlar fonda OCR va PDF generatsiyasidan o‘tadi, skanlar platforma ishlay oladigan matnga aylanadi.
- Canvas asosidagi reja muharriri: xodimlar qavat rejalari va planimetriyani brauzerning o‘zida chizadi, o‘lchaydi va izohlaydi — hech qanday kompyuter dasturisiz.
- Xaritalarni render qilish: xaritalar va rejalar hujjatlar bilan ishlashdan alohida, o‘z modulida render qilinadi.
- Mustaqil billing moduli: hisob-kitobning o‘z chegaralari bor va u platformaning qolgan qismiga aralashmaydi.
- Multi-tenant arxitektura: har bir munitsipal tashkilot o‘z tenantida ishlaydi, tashkilotlar o‘rtasida ma’lumotlar qat’iy ajratilgan.
- Rollarga asoslangan kirish nazorati: huquqlar ish yurituvchilar, inspektorlar va administratorlar kabi munitsipal rollar asosida qurilgan.
- Asinxron vazifalar navbatlari: uzoq davom etadigan vazifalarni RabbitMQ worker’lari bajaradi, shuning uchun vazifalar ishlayotganda ham interfeys tez javob beradi.
Arxitektura va texnologiyalar
Modulli Laravel backend
Backend Laravel 9 asosida MySQL va Redis bilan qurilgan. Billing, hujjatlarni qayta ishlash va xaritalarni render qilish — aniq chegaralarga ega alohida modullar. Bunday bo‘linish har bir modulga mustaqil rivojlanish va masshtablanish imkonini beradi. Shuningdek, kichik jamoa bir xil kodni doimiy ravishda birga tahrirlamasdan, parallel ishlay oldi.
Vue 3 va Inertia.js frontend
Interfeys Vue.js 3, Inertia.js va Tailwind CSS’da qurilgan. Inertia bilan Laravel marshrutlari va kontrollerlari Vue sahifalarini to‘g‘ridan-to‘g‘ri render qiladi. Admin ekranlari ko‘p bo‘lgan katta ilova har bir ekran uchun alohida API qatlamisiz bitta kod bazasida qoladi.
Canvas reja muharriri
Rejalar va planimetriya HTML5 canvas’da tahrirlanadi. Chizish va izohlash reja ustida mijoz tomonida bajariladi, shuning uchun xodimlar brauzerdan chiqmasdan va hech narsa o‘rnatmasdan chizmaga belgi qo‘yishi va o‘lchov olishi mumkin.
OCR va PDF generatsiyasi uchun RabbitMQ worker navbatlari
Skanerlangan hujjatlarda OCR va PDF generatsiyasi oddiy veb-so‘rovdan ancha uzoq davom etadi. Foydalanuvchilarni kuttirish o‘rniga ilova bu vazifalarni RabbitMQ navbatlariga qo‘yadi va darhol javob qaytaradi. Worker jarayonlari vazifalarni olib, fonda bajaradi. Og‘ir ishlar hajmi oshganda, odamlar foydalanayotgan sahifalarni sekinlashtirmasdan qo‘shimcha worker’lar qo‘shish mumkin.
Munitsipal tashkilotlar uchun multi-tenant va kirish nazorati
Bir nechta munitsipal tashkilot bitta platformadan foydalanganda, platforma ularning hech biri boshqasining hujjatlarini ko‘rmasligini kafolatlashi kerak. Tenantlarni ajratish butun platforma bo‘ylab majburiy qo‘llanadi. Har bir tenant ichida rollarga asoslangan kirish nazorati haqiqiy munitsipal rollarga mos keladi, shuning uchun ish yurituvchilar, inspektorlar va administratorlarning har biri o‘z ishi uchun kerakli huquqlarni oladi. Xuddi shu arxitektura yangi munitsipalitetlarni ulash uchun aniq yo‘l ochadi.
Bizning rolimiz
Ishlab chiqishni jamoa rahbari (team lead) sifatida boshqardik. Bu modulli backend arxitekturasini loyihalash, reja muharriri, navbatlar infratuzilmasi va multi-tenant kirish modelini topshirish hamda iteratsiyali yetkazib berish davomida yo‘l xaritasini mijoz bilan kelishib borishni anglatardi.
Tegishli ishlar
WClinic — integratsiya ishlari ko‘p bo‘lgan yana bir loyiha, unda ham jamoa rahbari bo‘lganmiz: klinika CRM’i ustida bir nechta klinika uchun onlayn yozilish. Davlat sektori uchun konsalting bo‘yicha Tver viloyati Sog‘liqni saqlash vazirligi uchun tayyorlagan texnik tadqiqotimizga qarang. Bunday platformalar veb-ilovalar yaratish xizmatimizning bir qismi.



