DernekSepetiDernek uygulaması · iOS ve Android
DernekSepeti, Türkiye'deki dernek ve vakıfların üyeleriyle ilişkisini tek bir mobil uygulamaya taşıyor: üye başvuru ve onayı, aidat takibi, duyurular, etkinlikler, topluluklar, kampanyalar, mesajlaşma ve anlık bildirimler. Flutter ile tek kod tabanından iOS ve Android; arkasında kendi sunucumuzda çalışan bir Node.js API'si ve PostgreSQL var.
- ≈55 bin
- satır kod (Dart + TypeScript)
- 42 tablo
- veri modeli
- 3 rol
- üye · dernek yöneticisi · süper admin




Sorun
Derneklerin çoğu üyeleriyle WhatsApp grupları, Excel aidat listeleri ve kâğıt makbuzlarla iletişim kuruyor. Duyurular kayboluyor, aidat takibi şeffaf değil, yeni üye bulmak için bir vitrin yok.
Ne yaptım
- Mobil uygulama (Flutter): keşfet ve arama, dernek profili, üye olma akışı, duyuru, etkinlik ve galeri, topluluklar, mesajlaşma, bildirimler ve profil. Misafir modunda üye olmadan gezilebiliyor; üyeye özel bölümler "üye ol" kapısına yönleniyor.
- Dernek yönetimi: dernek yöneticisi için üye onayı, aidat kayıtları, duyuru ve etkinlik yayınlama, kampanyalar; süper admin için dernek ve kullanıcı yönetimi.
- API: Node.js, Express, TypeScript ve Prisma; access ve refresh token rotasyonlu JWT, rol tabanlı yetki, e-posta ile tek kullanımlık kod doğrulaması, Zod ile istek doğrulama, rate limit ve güvenlik başlıkları.
- Gerçek zamanlı: Socket.IO ile mesajlaşma ve canlı güncelleme; her bildirim kaydı otomatik olarak Firebase push bildirimine dönüşüyor.
Teknik kararlar
Bildirim tek noktadan
Uygulamada bildirim üreten onlarca yer var: mesaj, duyuru, etkinlik, aidat, yardım talebi. Her birine ayrı push kodu yazmak yerine, veritabanına bildirim kaydı düştüğü anda ilgili cihazlara push gönderen tek bir katman yazıldı.
Doğrulama kodu asla cevapta dönmez
Geliştirme kolaylığı için kodu API cevabında gösteren kapı, üretimde kapatıldı; kod yalnızca e-postayla gidiyor.
Veri kendi sunucumuzda
API ve veritabanı Docker ile kendi sunucumuzda çalışıyor; derneklerin verisi üçüncü taraf bir backend servisinde durmuyor.
Durum
Uygulama 1.0.65 sürümünde; API canlıda. Google Play ve App Store yayın süreci işletme tarafında ilerliyor.