Kuzgun, React Native (Expo) ve Go kullanılarak geliştirilmiş bir mobil sohbet uygulamasıdır. Temel mesajlaşma işlevlerinin yanı sıra kullanıcıların çevrimiçi durumlarını takip etme özelliğine sahiptir.
- Mesajlaşma: WebSocket üzerinden anlık mesaj gönderimi ve alımı.
- Kullanıcı Durumu: Sohbet listesinde kullanıcıların online/offline durumunun görüntülenmesi.
- Kimlik Doğrulama: Giriş yapma ve kayıt olma işlemleri.
- Bildirimler: Uygulama içi bildirim gösterimi.
Projede kullanılan temel kütüphane ve araçlar:
- React Native / Expo: Mobil uygulama altyapısı.
- NativeWind: Arayüz stillendirmesi (TailwindCSS tabanlı).
- Zustand: State yönetimi.
- Expo Router: Sayfa yönlendirmeleri.
- Axios: API istekleri.
- Go (Golang): Backend dili.
- Fiber: Web framework.
- Ent: Veritabanı ORM'i.
- PostgreSQL: Veritabanı.
- WebSocket: Anlık iletişim protokolü.
Projeyi çalıştırmak için aşağıdaki adımları izleyebilirsiniz.
- Bilgisayarınızda Node.js, Go ve PostgreSQL kurulu olmalıdır.
- Mobil uygulamayı test etmek için telefonunuzda Expo Go uygulaması veya bilgisayarınızda bir simülatör bulunmalıdır.
Terminalde backend klasörüne gidin:
cd backend
go mod download
make runNot: Veritabanı ayarlarının config veya çevre değişkenlerinde yapılı olduğundan emin olun.
Yeni bir terminal sekmesinde chat-app klasörüne gidin:
cd chat-app
npm install
# veya
bun installUygulamayı çalıştırın:
npx expo startEkranda çıkan QR kodu telefonunuzla taratarak veya simülatör seçeneğini kullanarak uygulamayı başlatabilirsiniz.
Bu proje MIT lisansı ile sunulmaktadır.