Telegramda yozing@Odilient

MARKETPLEYS

Mahalliy xizmatlar marketpleysi

NDA ostida qutqarilgan, to‘xtab qolgan tezkor xizmatlar marketpleysi: Yandex Maps orqali joylashuv bo‘yicha moslashtirish, bron qilish, to‘lovlar va nizolar sakkiz oylik baho o‘rniga taxminan bir oyda ishga tushirildi.

NDA
Mijoz
Mahalliy xizmatlar
Soha
1 oy (rejada: 8 oy)
Muddat
2021
Yil
Boshlang‘ich nuqta

Muammo

Marketpleys tezkor mahalliy xizmatga muhtoj odamlarni yaqin atrofdagi ijrochilar bilan bog‘laydi, ammo ishlab chiqish rejadan ancha orqada qolgan edi. Halol baho qolgan ishga taxminan sakkiz oy berardi, mijozda esa bor-yo‘g‘i bir oycha vaqt bor edi. Kod bazasida eskirgan PHP 5.6 qismlari bor edi, ijrochi tanlash, bron qilish va to‘lovlar boshidan oxirigacha ishlamaguncha esa hech narsani ishga tushirib bo‘lmasdi.

Biz nima qildik

Yechim

Mavjud kodni audit qildik, ishlayotganini saqlab qoldik va ish hajmini ishga tushirish uchun haqiqatan kerak bo‘lgan narsagacha qisqartirdik, qolgan hammasini ishga tushirishdan keyingi backlog’ga o‘tkazdik. Tizim aniq ajratilgan modullarga bo‘lindi, ish oltita full-stack dasturchi o‘rtasida parallel olib borildi, jamoa rahbarimiz esa kritik yo‘lni ushlab turdi. Taxminan bir oyda Yandex Maps’da joylashuv bo‘yicha ijrochi tanlash, onlayn to‘lovli bron qilish, ijrochilarni ulash, nizolarni hal qilish va so‘rov hayot sikli webhook’larini ishga tushirdik.

Texnologiyalar
Laravel 8Vue.js 2Yandex Maps APIMariaDBLaravel MixPHP 5.6 (legacy)Online payments APIWebhooks
Parda ortida

Loyiha qanday yaratildi

NDA ostida qutqarilgan tezkor mahalliy xizmatlar marketpleysi

Bu agregator tezkor mahalliy xizmatga muhtoj odamlarni yaqin atrofdagi ijrochilar bilan bog‘laydi. Mijoz so‘rov yuboradi, platforma uni yaqindagi ijrochilar bilan moslashtiradi, ish esa onlayn bron qilinadi va to‘lanadi. Biz loyihaga u rejadan ancha orqada qolgan paytda qo‘shildik. Mijoz NDA bilan himoyalangan, shuning uchun bu keysda nomlarsiz — vaziyat, qarorlar va nima ishga tushirilgani haqida so‘z boradi.

Vaziyat: sakkiz oylik ish, bir oylik zaxira

Qolgan ishning halol bahosi taxminan sakkiz oy chiqdi. Biznesda esa bor-yo‘g‘i bir oycha vaqt bor edi, har bir qo‘shimcha oy esa pul va investorlar sabri hisobiga kechardi. Ikki yo‘l qoldi. Jamoa hammasini rejadagidek qurib, kompaniya ishga tushirishgacha yetib bormasligi xavfini bo‘yniga olishi mumkin edi yoki ishga tushirish uchun kerak narsani o‘z vaqtida topshirishi mumkin edi. Biz ikkinchi yo‘lni ongli ravishda, muhandislik qarori sifatida tanladik.

MVP’ni taxminan bir oyda qanday topshirdik

1. Qattiq texnik saralash

Mavjud kod bazasini auditdan boshladik: nima ishlaydi, nimani qutqarib qolsa bo‘ladi va nimani qaytadan yozish tezroq. Bizga meros qolgan kodning bir qismi eskirgan PHP 5.6’da ishlardi. Hammasini yoppasiga qayta yozishga urinmadik. Buning o‘rniga ishga tushirishdan oldin aynan nimani o‘zgartirish kerakligini hal qildik, ishlayotgan eski qismlarni esa ishga tushirishdan keyingacha tegmasdan qoldirdik.

2. Ish hajmini ayamasdan qisqartirish

Eng muhim qaror eng kam yoqqani ham edi: ish hajmini birinchi ishga tushirish uchun haqiqatan kerak bo‘lgan narsagacha qisqartirish. Qolgan hamma narsa relizdan keyingi backlog’ga o‘tdi. Qolgani esa xizmatlar marketpleysining o‘zagi bo‘ldi — ularsiz birorta mijoz o‘z ishini bitira olmaydigan jarayonlar.

3. Ajratilgan modullarda parallel ish

Qisqartirilgan hajm ham bir kishi bir oyda bajarishi uchun juda katta edi. Tizimni aniq ajratilgan modullarga bo‘ldik va ishni oltita full-stack dasturchi o‘rtasida parallel olib bordik, shuning uchun hech kim boshqasini kutib o‘tirmadi. Jamoa rahbarining vazifasi eng ko‘p kod yozish emas edi. Uning vazifasi kritik yo‘lni ushlab turish edi: dasturchilar oldidagi to‘siqlarni olib tashlash, modullarni birlashtirish, qismlar bir-biriga mos kelishini ta’minlash va ish hajmining asta-sekin kengayib ketishidan jamoani himoya qilish.

Ishga tushirishda topshirilgan asosiy imkoniyatlar

  • Joylashuv bo‘yicha ijrochi tanlash: Yandex Maps API asosida qurilgan, shuning uchun so‘rov haqiqatan yaqin atrofdagi ijrochilarga yetib boradi.
  • Bron qilish va onlayn to‘lov: mijozlar ijrochini bron qiladi va onlayn to‘lov integratsiyasi orqali to‘laydi.
  • Ijrochilarni ulash: xizmat ko‘rsatuvchilar admin panel orqali platformaga ulanadi.
  • Nizolarni hal qilish: mijozlar va ijrochilar o‘rtasidagi nizolarni hal qilish vositalari.
  • So‘rov hayot sikli webhook’lari: so‘rov o‘z hayot sikli bo‘ylab o‘tganda hodisalar yuboriladi va ular integratsiyalar hamda bildirishnomalarni ishga tushiradi.

Arxitektura va texnologiyalar

Backend Laravel 8 va MariaDB’da ishlaydi, uning yonida ishga tushirish uchun saqlab qolishga qaror qilgan eski PHP 5.6 kodi ham bor. Frontend — Laravel Mix bilan yig‘iladigan Vue.js 2. Ijrochi tanlash uchun joylashuv mantig‘i Yandex Maps API’da ishlaydi.

Hayot sikli webhook’lari bildirishnomalar kabi qo‘shimcha ta’sirlarni asosiy bron qilish kodidan tashqarida saqlaydi. So‘rov holati har safar o‘zgarganda marketpleys hodisa chiqaradi, unga munosabat bildirishi kerak bo‘lgan har qanday qism esa shu hodisaga obuna bo‘ladi. Aynan shu chegara parallel ishlashni ham mumkin qildi, chunki so‘rovga munosabat bildiradigan kod so‘rovni boshqaradigan kodni o‘zgartirishi shart emas.

Natija

MVP sakkiz oy o‘rniga taxminan bir oyda ishga tushdi: ijrochi tanlash, bron qilish, to‘lovlar, ijrochilarni ulash va nizolarni hal qilish — hammasi ishlab turardi. Asosiy jarayonlar tayyor bo‘lgach, mijoz yana foydalanuvchilarni jalb qilish va ijrochilarni ulashga qaytishi mumkin bo‘ldi.

Bu loyiha nimani ko‘rsatadi

  • Muddat — mahsulotning bir qismi. Biznesning puli tugaganidan keyin kelgan to‘liq mahsulot hech kimga yordam bermaydi.
  • Nimani qurmaslikni hal qilish qo‘shimcha ish soatlaridan ko‘ra ko‘proq vaqt tejaydi. Funksiyalarni qisqartirish muddatga har qanday qo‘shimcha soatlardan ko‘ra ko‘proq foyda berdi.
  • Parallel jamoalarga arxitektura kerak. Oltita dasturchi ishni faqat modullar ularni bir-biri bilan to‘qnashtirmagandagina tezlashtiradi.

Tegishli ishlar

Rejadan orqada qolib, qotib qolgan loyihani qutqarish — veb-ilovalar yaratish bo‘yicha ishimizning bir qismi. O‘z mahsulotimiz sifatida qurgan marketpleyslarimizni ko‘rish uchun onlayn yozilish marketpleysi Bronjoy va mijozlar, sotuvchilar va menejerlar uchun alohida ilovalari bor ko‘p tomonlama marketpleys Bazarmap keyslariga qarang.

Birga yaratamiz

Mahalliy xizmatlar marketpleysi kabi loyiha kerakmi?

Mahsulotingiz nima qilishi kerakligini ayting. Ish hajmini belgilaymiz, muddatlarni rejalashtiramiz va qat’iy narx yuboramiz — bepul va davom ettirish majburiyatisiz.

Bepul konsultatsiya Majburiyatsiz Tezkor javob