A platform that users can use for their social media stuff - like posting, messaging and connecting with friends easily.
🚀 Key Features:
- Responsive UI
- Native Android App
- Material Design Components
- Comprehensive Search -Auth Features Login and Sign Up -Channel Home -Chat Message Stuff
- Like and Comment Features -Search friends Stuff
- Navigation Rail for Foldable Devices -Post picture features
- Library
- Shimmer Loading Screen -Channel Details Screen -Connecting with Friends Features Like Follow and Following -Edit Profile Features
- Top Categories
- Kotlin
- Kotlin Coroutines
- Kotlinx Serialization
- Ktor client library
- Kotlin Coroutine
- Dagger-Hilt
- Retrofit
- Scarlet
- KMongo
- Ktor
- Android Architecture Components
- Koin
- Jetpack Compose
- Coil
The overall architecture is composed of two layers; UI Layer and the data layer. Each layer has dedicated components and they each have different responsibilities. The arrow means the component has a dependency on the target component following its direction.
Each layer has different responsibilities below. Basically, they follow unidirectional event/data flow.
The UI Layer consists of UI elements like buttons, menus, tabs that could interact with users and ViewModel that holds app states and restores data when configuration changes.
The data Layer consists of repositories, which include business logic, such as querying data from the local database and requesting remote data from the network. It is implemented as an offline-first source of business logic and follows the single source of truth principle.