/TrackDown

Primary LanguageKotlin

Trackdown

An application built using Kotlin and Jetpack Compose that allows users to explore various stocks, ETFs, and more

App logo

About the Project

This Android application provides users with real-time data and insights into stocks and ETFs. It includes two main screens and utilizes the Alpha Vantage API for data fetching.

stockapp

Explore Screen

  • Displays Top Gainers and Losers in separate tabs.
  • Each tab features a grid of cards with detailed stock/ETF information.

Details Screen

  • Shows basic information and a price line graph for selected stocks/ETFs.

Demo

stockvid_2.mp4
trackDown.mp4

Features

  • API Integration: Utilizes Alpha Vantage for data endpoints and Api Ninjas For logo .
  • Error Handling: Manages loading, error, and empty states effectively.
  • Caching: Implements API response caching using Room with expiration.
  • Dependency Injection: Uses dependency injection for efficient management (Kotlin + Android).
  • UI/UX: Includes a basic yet intuitive user interface.

Additional Enhancements

  • Search Suggestions: Displays recently searched items as suggestions.
  • UI Customization: Offers light/dark mode theme switch.
  • API Exploration: Explores additional Alpha Vantage endpoints for added functionality.

Technologies Used

Getting Started

To run the app:

  1. Clone the repository.
  2. Generate an API key and replace it in the app. Place it in local.properties like this:
sdk.dir= ...
STOCK_API_KEY= ...
LOGO_API_KEY= ...
  1. Apis can be generated from here STOCK_API_key and LOGO_API_KEY
  2. Build and run the app on an Android device or emulator.

Tech Stack

  • Kotlin: For development
  • Android Studio: The integrated development environment (IDE) for Android app development.
  • Compose: an open-source, Kotlin-based toolkit for building native Android user interfaces (UIs)
  • Dependency Injection: Employed for efficient management of app dependencies.
  • MVVM (Model-View-ViewModel): Architecture pattern for separating UI from business logic.

Thankyou 😊