฿ Crypto apps utilize real-time data to draw a blueprint for how to envision a real-time data architecture.
- Minimum SDK level 24 and Target SDK level 33
- 100% Kotlin
- 100% Compose
- Flow(StateFlow, SharedFlow) + Coroutine for async programming.
- MVVM + Clean Architecture (Multi Module)
- Based on the Core, Feature folder, I have modularized it by feature.
- Realtime Architecture (Cache + Api + Socket)
- The architecture is optimized to receive, process, and display real-time data.
- Hilt for Dependency Injection
- Retrofit2 & OkHttp3 for request and response data from network using REST API.
- Thunder for WebSocket
- A websocket library that converts to a Flow type.
- (TBD) Kotest for unit test