Yanıtla Kazan: Sohbet ve Arkadaşlık
Var olan bir Flutter uygulamasının sunucu tarafını sıfırdan yazdım; gerçek zamanlı sohbeti ve arkadaşlık sistemini hem sunucuda hem uygulamada ekledim.
Proje hakkında
Müşterinin uygulaması Flutter'la yazılmıştı ama arkasında çalışan bir sistem yoktu. API'yi sıfırdan yazdım: PostgreSQL şeması, Socket.io üzerinden mesajlaşma, Redis'te oturum ve önbellek. Sohbet ve arkadaşlık ekranlarını uygulama tarafında da ben yazdım, yani sunucu ile uygulama birlikte ilerledi. Fotoğraf paylaşımını, sesli mesajı ve emoji seçiciyi de bu sırada ekledim. Sunucuyu Docker'la paketleyip Nginx arkasında Hetzner'de yayına aldım.
Öne çıkanlar
- Node.js ve Express ile sıfırdan yazılan API
- Socket.io ile bire bir mesajlaşma ve mesaj geçmişi
- Arkadaş arama, ekleme, listeleme ve engelleme
- Kameradan ve galeriden fotoğraf paylaşımı
- Sesli mesaj kaydı, gönderimi ve oynatma
- Emoji seçici
- Mesaj silme, yıldızlama ve okundu bilgisi
- PostgreSQL şeması; Redis'te oturum ve önbellek
- Docker, Nginx ve SSL ile Hetzner'de yayına alma
- Helmet ve CORS ile temel güvenlik ayarları
- Türkçe ve İngilizce arayüz
Zorluklar
Sunucuyu ve uygulamayı aynı anda yazdım. Gerçek zamanlı sohbet altyapısı, fotoğraf ve ses dosyalarının yüklenip saklanması, veri tabanı tasarımı ve sunucunun yayına alınması tek elden yürüdü.