An Android application for tracking cryptocurrencies with portfolio management capabilities.
![]() |
![]() |
![]() |
![]() |
- Kotlin - Programming language
- Jetpack Compose - Modern UI framework
- Retrofit - HTTP client for API
- Supabase - Authentication and Database
- CoinGecko API - Cryptocurrency data
- Room (if used) - Local storage
- Flow/StateFlow - Reactive programming
The project is built on Clean Architecture with separation into three layers:
├── data/ # Data layer (repositories, API, DB)
├── domain/ # Business logic (use cases)
└── ui/ # User interface (Compose)
Data Layer:
api/- API services (CoinGecko, Supabase)repository/- Repository implementations
Domain Layer:
usecase/- Business logic (GetCoinsUseCase, LoginUseCase, etc)
UI Layer:
screens/- Application screensviewmodel/- ViewModels for state managementcomponent/- Reusable componentstheme/- Design system
DI:
AppContainer- Dependency injection container
- 📱 Authentication (registration/login)
- 📊 View cryptocurrency rates
- 💼 Portfolio management
- 🎨 Light/dark theme
- ⚙️ User settings
- Open the project in Android Studio
- Sync Gradle
- Add API keys for Supabase in
local.properties - Run on emulator or device



