TL;DR
- İki Laravel backend, aynı gün Flutter uygulamalarına hizmet vermeye başladı — bir etkinlik platformu (auth, siparişler, çevrimdışı check-in) ve bir çağrı merkezi ürünü (operasyon modu).
- gatherhub-web, sadece planlara dayalı fiyatlandırmaya geçti ve tek bir veri dosyası ile yönetilen bir karşılaştırma matrisine sahip oldu.
- Sağlamlaştırma süreci: ödeme güvenli kuyruklar, gateway mutabakatı, bir ağır bağımlılık kaldırıldı.
İki mobil API bir günde
Tesadüf ama faydalı: Üzerinde çalıştığım iki ürün bu hafta Laravel backend’lerine mobil uygulamalar için hizmet vermek zorunda kaldı.
Etkinlik platformu tam bir altyapıya sahip oldu — token auth (giriş/yenileme/çıkış/ben), katılımcı siparişleri, durum anketi ile mobil ödeme, push cihaz kaydı ve çevrimdışı çalışan check-in akışı. Sonuncusu ilginç; bu konuyu ayrı bir yazı olarak yazdım.
Çağrı merkezi ürününde ise durum tersine döndü: API sadece istemci odaklıydı ve bugün rol bilincine sahip hale geldi. Aynı uç noktalar, bilet işleyen operasyon ajanları için hizmet ediyor, her rolün gördüğü şeyleri belirleyen yeteneklerle. Tek bir API yüzeyi, iki persona, kopyalanmış /admin rotaları yok.
Her iki üründe tekrar eden ders: API Resources bir sözleşmedir. Bir mobil geliştirici, endpoint’inizi kullandığı andan itibaren, kazara sızdırdığınız her alan, artık silemeyeceğiniz bir alan olur.
Sadece planlara dayalı fiyatlandırma (kamusal)
gatherhub-web, Next.js pazarlama sitesi, üç plan için à-la-carte özellik fiyatlandırmasını kaldırdı ve bir plan karşılaştırma matrisi edindi. Her şey tek bir plans.ts dosyasından render ediliyor — matris, fiyat kartları, kurumsal sayfa — bu nedenle pazarlama sitesi, gerçekten satılanlarla çelişemez. Bir fiyat sayfası da bir sözleşmedir; API’niz gibi, tek bir gerçek kaynakla desteklenmelidir.
Sağlamlaştırma süreci
| Değişiklik | Neden |
|---|---|
| Bulk email blast’lar kendi kuyruklarına ayrıldı | Bir büyük gönderim, ödeme webhook’unu asla geciktirmemelidir. |
| Bekleyen siparişler için mutabakat komutu | Webhook’lar sessizce başarısız olur; gateway’i kontrol etmek bir güvenlik ağıdır. |
maatwebsite/excel → spatie/simple-excel dışa aktarımlar için | Hafızada sayfalar oluşturmak yerine satırları akıttığı için, daha küçük bir bağımlılık yüzeyi. |
| Yayın hazır olma durumu her geçiş yolunda zorunlu hale getirildi | Bir invarianta bir yerde, her kontrolcüde değil. |
Özet
Bugün her şey aynı hastalığın farklı organlardaki tezahürüydü: tek bir gerçek kaynaktan sapma. Site üzerindeki plans.ts, API’deki Resources, backend’deki tek bir hazır olma kapısı. Her yerde aynı ilaç.
Kaynak: Orijinal Makale


