About
Android Jetpack Compose messenger client implementation using Firebase services
Architectural concepts and goals:
- Clean Architecture principles
- Screaming Architecture
- Modularity
- Scalability
- MVVM + State Reduce approach
Features:
- User profile managing
- User searching
- Private chats
- Public channels (in progress)
- Text messages
- Voice messages (in progress)
- Audio calls (in progress)
- Video calls (in progress)
Technologies:
Core:
- Kotlin
- Coroutines(Flow)
- Hilt DI
- Arrow.kt
Network:
- Peer-to-Peer (in progress)
- WebRTC (in progress)
Data:
- Firebase Auth
- Firebase Firestore
- Firebase Storage
- Realm DB
Presentation:
- Android
- Jetpack Compose
- Navigation Component
- Accompanist
Testing:
- JUnit
- MockK