Vaka çalışması · Web uygulaması
Moodica
Danışanı doğru psikolog ya da psikiyatristle eşleştiren online terapi platformu.
Terapi arayan biri, uzun bir uzman listesiyle karşılaşır ve hangisinin sorununa uygun olduğunu bilemez; randevu, ödeme ve görüşme de genelde üç ayrı yerde yapılır.
Moodica anketi, eşleştirmeyi, randevuyu, ödemeyi ve görüntülü seansı veri korumasını merkeze alan tek bir platformda topluyor. Hâlâ geliştirme aşamasında ve henüz herkese açık değil.
- 700+ otomatik birim, entegrasyon ve arayüz testi
- 3 kullanıcı rolü: danışan, uzman, yönetici
- Yıl
- 2026
- Rol
- Geliştirici, bitirme projesi
- Kullanılanlar
- Bağlantılar
01
Zorluk
Veri, var olan en hassas veriler arasında: bir danışanın ruh sağlığına dair yanıtları. Platformun bunu tasarım gereği koruması, uzmanların belgelerinin doğrulanmış olması ve anket sonucunun asla teşhis gibi sunulmaması gerekiyor.
Üstüne parçalar birbirine bağlı: bir randevu bir uzmanı asla çift rezerve etmemeli, ödeme bir randevuyla eşleşmeli ve görüntülü görüşme yalnızca doğru iki kişiye, doğru zamanda açılmalı.
Kısıtlar
- Kişisel veriler KVKK’ya uygun olmalı
- Online terapinin yayın öncesinde hâlâ netleştirilen yasal koşulları var
02
Benim payım
-
ASP.NET Core MVC uygulamasını PostgreSQL üzerinde Entity Framework Core ile geliştirdim; Docker ile paketledim.
-
İki aşamalı doğrulamayı, rol bazlı yetkilendirmeyi ve anket yanıtlarının şifreli saklanmasını yazdım.
-
Kısa bir ankete dayalı eşleştirmeyi ve sekiz örnek uzman ile beş danışan senaryosu olan demo modunu geliştirdim.
-
Randevu takvimini, online ödemeyi ve SignalR ile canlı görüntülü seansları geliştirdim.
-
Docker’daki gerçek bir PostgreSQL’e karşı çalışan entegrasyon testleri dahil 700’den fazla otomatik test yazdım ve GitHub Actions ile CI kurdum.
03
Temel kararlar
-
Platform asla teşhis koymaz
- Seçim
- Anket yalnızca tarar ve yönlendirir; değerlendirme ve tedavi her zaman uzmanda kalır.
- Neden
- Ürünü dürüst tutuyor, yazılımın iddia edebileceği sınırın içinde bırakıyor ve her ekranın dilini belirliyor.
-
Çift rezervasyonu veritabanına engellet
- Seçim
- Randevu saatleri UTC olarak tutuluyor ve bir veritabanı kuralı çakışan randevuları reddediyor.
- Neden
- Uygulama kodu yük altında ya da saat dilimlerinde yarışabilir; veritabanındaki bir kural aşılamaz.
-
Gerçek veritabanına karşı test
- Seçim
- Entegrasyon testleri Docker’da PostgreSQL başlatıp uygulamayı HTTP ile çağırıyor.
- Neden
- Yetkilendirme, iki aşamalı doğrulama ve rıza akışları ancak uçtan uca kanıtlanır; sahte nesneler veritabanı davranışını gizlerdi.
04
Sonuçlar
Platformun büyük kısmı uçtan uca çalışıyor: anket ve eşleştirme, randevu ve iptal kuralları, e-posta hatırlatmaları, seans sonrası geri bildirim ve iadeli deneme (sandbox) ödemesi. İki kişi internet üzerinden canlı görüntülü görüşmeye de katıldı.
Henüz herkese açık değil. Yayın öncesinde kalan işler yasal (online terapi hizmetinin hangi izinle sunulacağı) ve operasyonel (barındırma ve zor ağlar için bir TURN sunucusu). Kaynak kod GitHub’da, şimdilik özel bir depoda.
Buna benzer bir problemin mi var?
Ne üzerinde çalıştığını anlat, sana dönüş yapayım.
kilichalit103@gmail.com