Logistika ERP / CRM

InterRail

Xalqaro temir yo'l yuk logistikasi kompaniyasi uchun noldan qurilgan ERP va CRM platformalari — buxgalteriya, shartnomalarni boshqarish, KPI kuzatuvi va AI yordamida hujjatlarni qayta ishlash.

Umumiy ma'lumot

InterRail — men O'rta Osiyo va Rossiyada faoliyat yurituvchi xalqaro temir yo'l yuk logistikasi kompaniyasi uchun noldan qurilgan ERP va CRM tizimlari to'plami. Bu vositalar paydo bo'lgunga qadar, jamoa buyurtmalar, shartnomalar va KPIlarni elektron jadvalda kuzatardi. Endi hamma narsa — so'rovdan jo'natmaga va moliyaviy hisob-kitobgacha — bir joyda, 6+ davlatda har kuni ishlatiladi.

Men nima qildim

  • Ikkalasi ERP backendlarini Django'da noldan yaratdim — O'rta Osiyo bo'ylab temir yo'l yukini kuzatuvchi kompaniya uchun barcha ma'lumot modellari, REST APIlar va asinkron background ishlar.

  • Uchala Vue 3 frontendni — admin CRM, kuzatuv boshqaruv paneli va Telegram mini-ilovani — ko'p tilli qo'llab-quvvatlash va uchidan-uchiga testlarni o'z ichiga olgan holda boshqardim.

  • Xodimlar oddiy tilda buyurtmalar va so'rovlar haqida so'rashlari uchun AI yordamchini integratsiya qildim — u jonli ma'lumotlar bazasidan o'qiydi va foydalanuvchi boshiga xarajatni kuzatadi.

  • Temir yo'l yuk xati PDFlari, elektron jadvallar va Word fayllarini tuzilgan yozuvlarga tahlil qiluvchi hujjat quvurini yaratdim — har bir jo'natmada soatlab qo'lda ma'lumot kiritishni tejaydi.

Arxitektura

Ikkita mustaqil full-stack tizim — biri O'rta Osiyo ERP uchun, biri kuzatuv platformasi uchun — har biri bir xil naqshni baham ko'radi: real vaqtdagi WebSocket qo'llab-quvvatlashi bilan Django REST backend, PostgreSQL, Redis va background ishlar uchun Celery worker, barchasi Docker Compose'da. Vue 3 SPAlar JWT autentifikatsiya orqali o'z backendlari bilan muloqot qiladi, MinIO esa yuk xati hujjatlarini ma'lumotlar bazasini o'ldirmasdan ulash imkonini beradi.

Ichki tuzilishi

  • Aktdagi barcha qatorlar to'ldirilganda, background vazifa avtomatik ravishda uni yakunlangan deb belgilaydi — hech kim uni qo'lda yopishni unutishiga to'g'ri kelmasdi. Django signallar kompaniya yozuvidagi denormallashtirilgan jami miqdorlarni qimmat qayta agregatsiya so'rovlarisiz sinxron saqlaydi.

  • Polimorfik buyurtma modeli: bitta buyurtma jadvali konteyner jo'natmalar, vagon yuklar va bo'sh vagon qaytarishlarni qamrab oladi — har biri o'z jo'natma va to'lov holati tsikliga ega — shuning uchun operatsiya jamoasi yuk turiga qaramasdan bitta ko'rinishda ishlaydi.

  • AI yordamida yuk xati ajratib olish: hujjat quvuri fayl turi bo'yicha yuboradi — PDF, elektron jadval yoki Word — xavfsiz hajm chegaralari ichida matnni ajratib oladi va tuzilgan yuk xati yozuvlarini yaratish uchun AIga uzatadi. Xodimlar hujjat boshiga 30+ maydonni qo'lda kiritishdan AIning natijasini ko'rib chiqish va tasdiqlash tugmasini bosishga o'tishdi.

Men nimani o'rgandim

  • ERP ko'lami doim kengayadi — eng muhim muhandislik qarori har bir quyi tizimni (shartnomalar, buyurtmalar, moliya) yangi talablar hamma joyga tarqalib ketmasligi uchun aniq ajratilgan holda saqlash edi.

  • Hujjatlarni qayta ishlashga AI qatlamini qo'shish tortib olish aniqligi bo'lmaganini ko'rsatdi — bu upstream ma'lumotlar sifati edi. Axlat kirsa, axlat chiqadi, hatto yaxshi modellar bilan ham.

Texnologiyalar

Frontend

  • Vue 3
  • Vuex 4
  • Vue Router 4
  • Bootstrap 5
  • ApexCharts
  • Leaflet
  • Playwright

Backend

  • Python 3.11
  • Django 4.1
  • Django REST Framework 3.14
  • Daphne/ASGI
  • Celery 5.3
  • openai-agents

Ma'lumotlar va Qidiruv

  • PostgreSQL 14
  • Redis 7
  • Elasticsearch 7
  • MinIO

Infratuzilma va Asboblar

  • Docker Compose
  • Docker Swarm
  • GitHub Actions
  • ruff
  • mypy