Skip to content

M0bileDev/StockMarketAppProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

347 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📈 Stock Market App

An Android stock market app built with Kotlin and Jetpack Compose.
Browse and search stocks, view detailed price charts, and explore market data powered by the Alpha Vantage API.


📋 Table of Contents


📸 Screenshots

Add your screenshots here


✨ Features

  • 📋 Browse stocks — Explore a full list of available stocks and companies
  • 🔍 Search by symbol — Quickly find any stock using its ticker symbol
  • 📊 Stock details & price chart — View in-depth company info alongside an intraday price chart

🛠️ Tech Stack

Technology Description
Kotlin Primary language
Jetpack Compose Modern declarative UI toolkit
Retrofit HTTP client for Alpha Vantage API calls
Room Local database for caching stock data
Hilt Dependency injection
Kotlin Coroutines & Flow Async operations and reactive state management
Gradle (Kotlin DSL) Build system

🏗️ Architecture

The app follows MVVM + Clean Architecture, organised into three layers:

UI Layer (Compose screens & ViewModels)
        ↕
Domain Layer (Use cases & repository interfaces)
        ↕
Data Layer (Retrofit API + Room database + repository implementations)
  • UI — Compose screens observe state from ViewModels via StateFlow
  • Domain — Use cases encapsulate business logic and act as the bridge between UI and data
  • Data — Repository implementations handle fetching from the Alpha Vantage API and caching results locally with Room

🚀 Getting Started

Prerequisites

Clone the Repository

git clone https://github.com/M0bileDev/StockMarketAppProject.git
cd StockMarketAppProject

Add Your API Key

In your local.properties file (create it in the project root if it doesn't exist), add:

ALPHA_VANTAGE_API_KEY=your_api_key_here

⚠️ Never commit your local.properties file. It is already included in .gitignore.

Run the Application

Open the project in Android Studio, select a device or emulator, and hit Run.

Or from the terminal:

# macOS / Linux
./gradlew :app:assembleDebug

# Windows
.\gradlew.bat :app:assembleDebug

Install on a connected device:

./gradlew :app:installDebug

Run Tests

./gradlew test

📁 Project Structure

app/
└── src/
    └── main/
        └── kotlin/
            └── com/m0biledev/stockmarket/
                ├── data/
                │   ├── local/          # Room database & DAOs
                │   ├── remote/         # Retrofit API service
                │   ├── repository/     # Repository implementations
                │   └── mapper/         # Data mappers (DTO ↔ Domain)
                ├── domain/
                │   ├── model/          # Domain models
                │   ├── repository/     # Repository interfaces
                │   └── usecase/        # Business logic use cases
                └── presentation/
                    ├── company_list/   # Stock listing screen
                    ├── company_info/   # Stock detail & chart screen
                    └── ui/theme/       # Compose theme

📄 License

This project is licensed under the Apache 2.0 License.

About

An Android stock market app built with Kotlin and Jetpack Compose. Browse and search stocks, view detailed price charts, and explore market data powered by the Alpha Vantage API.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages