A production-style Android trading terminal POC that demonstrates modern mobile app engineering for trading workflows: live price streaming, charting, watchlists, order entry, and portfolio tracking.
This project is built to showcase:
- Strong Android architecture and implementation quality
- Real-time market UI behavior and trading UX patterns
- End-to-end flow from market data to order placement and portfolio impact
Dashboard![]() |
Watchlist![]() |
Portfolio![]() |
Stock Detail (Chart)![]() |
Order Book & Depth![]() |
Order Entry (Top)![]() |
Order Entry (Summary)![]() |
- Dashboard: market indices, sector heatmap, top movers
- Watchlist: tracked symbols with realtime pricing and sparkline behavior
- Stock Detail: chart, order book, depth visualization
- Order Entry: market/limit/stop/stop-limit/trailing-stop flows with validation
- Portfolio: holdings, buying power, P&L, order history
- Kotlin
- Jetpack Compose + Material 3
- MVVM + Clean Architecture
- Coroutines + Flow
- Hilt (DI)
- Retrofit + OkHttp/WebSocket
- Room
- JUnit + Turbine
- Android Studio (latest stable)
- JDK 17
- Android SDK + Emulator (or physical device)
- Clone the repository.
- Open the project in Android Studio (or VS Code with Android tooling).
- Start an emulator.
- Build debug APK:
./gradlew.bat assembleDebug
- Install on emulator/device:
./gradlew.bat installDebug
- Run unit tests:
./gradlew.bat testDebugUnitTest
SIMULATED(default): offline demo-safe market simulationLIVE: Finnhub-backed live dataHYBRID: live-first with simulator fallback
For live data, configure your Finnhub API key in the network module and switch mode in data source config.






