StockTrack is a modern Android application developed in Kotlin that provides real-time information on stocks and ETFs. It integrates with the Alpha Vantage API to display top market movers, perform ticker searches, and present key company information. The app follows a robust MVI architecture and implements key features like caching, pagination, and dynamic light/dark themes.
- Displays:
- Recently Searched stocks/ETFs
- Top Gainers
- Top Losers
- Company Overview
- Grid of cards including:
- Ticker Symbol
- Company Name
- Current Price
- % Change
- A search screen powered by the Alpha Vantage Ticker Search API.
- Searches are cached and displayed under the “Recently Searched” section.
- Shows:
- Stock/ETF fundamental information (Company Overview API)
- A line chart of historical prices rendered using
YCharts
- Full list of Top Gainers and Top Losers and Recent Searches with pagination.
- The app supports dynamic theming – users can toggle between Light and Dark modes.
- Language: Kotlin
- Architecture: MVI (Model-View-Intent)
- Layers:
data,domain,viewmodel,ui - Dependency Injection: Hilt
- Network: Retrofit
- Charting Library: YCharts
- Caching with expiry: RoomDB
- State Management: Loading, Error, Empty states handled across screens
The application uses and caches the Alpha Vantage API for:
- 📈 Top Gainers/Losers: via Alpha Intelligence endpoints
- 🏢 Company Overview: Basic fundamental data
- 🔍 Ticker Search: For stock/ETF symbol lookup
| Home Screen | Search Screen | Details Screen | View All |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| Home Screen | Search Dropdown | Details Screen | View All |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |







