Berber, kuaför ve güzellik salonları gibi işletmelerin başvurup onay aldıktan sonra kendi online randevu sayfalarını kullandığı bir SaaS platformu. Müşteriler üye olmadan randevu alıyor; işletmeler randevu, ekip, hizmet ve çalışma saatlerini kendi panellerinden yönetiyor; platform yöneticisi başvuruları onaylıyor.
- 26
- API uç noktası
- 70
- uçtan uca test
- 3
- kullanıcı rolü
Problem
Küçük işletmeler randevularını hâlâ telefon ve defterle yönetiyor. Bu hem işletme sahibinin zamanını yiyor hem de çakışan randevulara yol açıyor. Hazır çözümler ya pahalı ya da tek işletmeye göre tasarlanmış.
Çözüm
Her işletmeye kendi linkiyle bir randevu sayfası veren, onay mekanizmalı çok kiracılı bir platform tasarladım. Müşteri tarafında 4 adımlı bir sihirbaz, işletme tarafında istatistikli bir panel, platform tarafında başvuru yönetimi var.
- Hizmet → uzman → tarih/saat → bilgiler akışıyla 30 saniyede randevu
- Çalışma saatleri, hizmet süresi ve mevcut randevulardan anlık müsaitlik hesabı
- Randevu kodu + telefon ile üyeliksiz sorgulama ve iptal, .ics ile takvime ekleme
- Başvuru → onay / red / askıya alma akışı; onaysız işletmenin sayfası yayına çıkmaz
Teknik öne çıkanlar
Doğruluk ve güvenlik en çok zaman harcadığım konulardı.
- Çift rezervasyona karşı Postgres advisory lock + kısmi unique index; 5 eşzamanlı istekten yalnızca 1'i başarılı
- Her panel sorgusu işletme kimliğiyle filtreleniyor; kiracılar arası erişim 12 ayrı testle doğrulandı
- scrypt ile şifre hash'leme, httpOnly JWT oturumu, her istekte veritabanından yetki kontrolü
- Zod ile tüm girdilerin doğrulanması, kayıt/giriş/randevu uçlarında rate limit
- Docker Compose + Caddy ile tek komutla otomatik HTTPS'li yayın
