A real-time Android chat application built with Kotlin and Firebase, featuring modern Android architecture patterns.
- 💬 Real-time messaging with Firebase Firestore
- 🔐 Email/Password authentication
- 🟢 Online / Last seen status indicator
- 🖼️ Edit or remove profile picture
- 🏗️ MVVM Architecture with Dagger Hilt
| Login | Messages | Chat |
|---|---|---|
![]() |
![]() |
![]() |
- Language: Kotlin
- Architecture: MVVM (Model-View-ViewModel)
- Backend: Firebase Firestore, Firebase Auth, FCM
- Dependency Injection: Dagger Hilt
- Async: Kotlin Coroutines & LiveData
- Networking: Retrofit
- Min SDK: 21 | Target SDK: 31
- Clone the repo
- Create a Firebase project at console.firebase.google.com
- Enable Authentication (Email/Password) and Firestore
- Download
google-services.jsonand place it in theapp/folder - Build and run in Android Studio
This app follows MVVM clean architecture:
- UI Layer — Fragments + ViewBinding
- ViewModel Layer — Business logic with Coroutines
- Repository Layer — Firebase data operations
- DI — Dagger Hilt for dependency injection


