Skip to content

ocetin00/CryptoTracker

Repository files navigation

Crypto Tracker - Android App

Cryptocurrency Tracking App built with Jetpack Compose, WorkManager, Hilt, Room, and Firebase Firestore.

Demo GIF


Features ✅

Real-time Cryptocurrency Prices via API
Favorites List stored in Firebase Firestore
Offline Data Storage using Room Database
Search Functionality for quick access to coins
WorkManager Integration for background price updates
Hilt Dependency Injection for modular architecture(for now just package)
State Management with Jetpack Compose
Shimmer Loading Animation for better UX
Authentication Flow (Login, Logout)


🛠️ Tech Stack & Libraries

Feature Library
UI Framework Jetpack Compose
Background Work WorkManager
Dependency Injection Hilt
Local Database Room
Networking Retrofit + OkHttp
Asynchronous Coroutines + Flow
Firebase Firestore + Auth
Image Loading Coil
Testing JUnit + MockK

🏗️ Project Architecture

The project follows MVVM (Model-View-ViewModel) architecture with Unidirectional Data Flow:

app/
│── data/
│   ├── local/
│   │   ├── AppDatabase.kt
│   │   ├── CoinDao.kt
│   │   ├── CoinEntity.kt
│   ├── remote/
│   │   ├── CoinApi.kt
│   │   ├── CoinRemoteModel.kt
│   ├── repository/
│   │   ├── CoinRepositoryImpl.kt
│
│── domain/
│   ├── repository/
│   ├── model/
│   ├── usecase/
│
│── ui/
│   ├── screen/
│   │   ├── auth/
│   │   ├── coin/
│
│── di/
│   ├── AppModule.kt
│   ├── NetworkModule.kt
│   ├── RepositoryModule.kt

⚙️ Setup & Installation

Clone this repository:

git clone https://github.com/yourusername/CryptoTracker.git
cd CryptoTracker

🏗 Prerequisites

  • Android Studio LadyBug or newer
  • Minimum SDK 28 (Android 9.0)
  • Gradle version: 8.10.2, AGP 8.8.0

🔧 Running the Project

2️⃣ Build & Run

./gradlew clean build

or directly run from Android Studio.


Things I Planned But Couldn't Implement

  • Notifications for price alerts
  • String Res for hardcode strings
  • More UI/Unit test
  • Modularization

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published