10K+ məhsul, milyonlarla data sıra — OpenCart-dan Laravel-ə tam miqrasiya
Aktiv işləyən marketplace — köhnə OpenCart üzərində yavaş, mobilsiz, ölçülənmir. 10 minlərlə məhsul və milyonlarla data sırasını sıfır itki ilə yeni Laravel arxitekturuna köçürdük. Mobil tətbiqi paralel çatdırdıq.
- Çoxmərhələli (miqrasiya + mobil)
- Elvin Şərifov + backend/mobile kontraktorları
- Mühəndislik · Məhsul dizaynı · Mobil tətbiq
- Canlı
Başlanğıc nöqtəsi
Hamısıburada.az aktiv işləyən marketplace idi — gündəlik trafik, real sifariş axını, mövcud SEO sıralamaları. Sistem köhnə OpenCart üzərində qurulmuşdu: özəlləşdirmələr həddən artıq, performans aşağı, yeni funksionallıq əlavə etmək tədricən mümkünsüzləşirdi. Mobil tətbiq isə yox idi.
Riski izah edək: 10 minlərlə məhsul, on-larla satıcı, kateqoriyalar, qiymət tarixçəsi, sifariş arxivi, SEO URL-ləri, müştəri profilləri. Hər birinin yeni sistemdə eyni şəkildə fəaliyyət göstərməsi lazım idi — sıfır data itkisi, sıfır SEO itkisi, canlı kəsilmə minimuma.
Qərarlar
- Laravel — yeni stack. Modern PHP, aktiv ekosistem, Eloquent, queue, Horizon, Telescope. OpenCart-ın bütün xüsusiyyətlərini Laravel-də modullaşdıraraq yenidən qurduq.
- Miqrasiya skriptləri idempotent — defalarla qaça bilirdi, dry-run modunda yoxlanılırdı. Hər mərhələdə count assertions ilə doğrulama.
- SEO URL-lərinin qorunması — köhnə URL-lər 301-redirect ilə yenilərə bağlandı. Sitemap və canonical-lar yenidən yazıldı.
- Mobil tətbiq paralel çatdırma — REST API mobil ilə eyni komandada yazıldı, beləliklə endpoint divergence olmadı.
İcra
Miqrasiya 3 fazada keçdi: schema mapping, batch import, canlı switch. Switch günü 4 saatlıq oxu-only window — yeni sifarişlər DB-də qeydiyyatdan keçmədi, qaytarıldı. Switch tamamlandıqdan sonra heç bir data itkisi olmadı.
“Miqrasiya işlərində ən qiymətli alət dry-run idi. Hər skript real DB-də qaçmadan əvvəl on-larla dəfə staging-də sınanmışdı.”
Mobil tətbiq native iOS və Android üçün ayrıca yazıldı, API isə Laravel resources istifadə edir. Push notification, in-app payment, kateqoriya filtri, favorit siyahısı — hamısı ilk versiyada.
Nəticə
- Tam Laravel arxitekturasına keçid — yeni funksionallıq artıq həftələrlə yox, günlərlə əlavə olunur.
- Sıfır data itkisi, sıfır SEO sıralama itkisi (köhnə URL-lər 301-redirect ilə qorundu).
- iOS + Android tətbiqi launch oldu — mobil sifariş axını veb-paritetlə işləyir.
- Komanda artıq özü release axınını idarə edir — biz handover sonrası danışman rolundayıq.