/Geckoin-Compose

A cryptocurrency app developed with jetpack compose

Primary LanguageKotlinApache License 2.0Apache-2.0

Geckoin Compose

My Gecoin app re-writed in Compose. Geckoin Compose is a cryptocurrency simple app for basic market info, top coins list and search in all available tokens by consuming "CoinGecko" API. In this sample project I tried to develop a standard and modern android app with best practices and some the most useful jetpack compose.

Features

  • Kotlin
  • Jetpack Compose: all screens and components developed with Compose.
  • Clean Architecture
  • MVI design pattern with StateMachine for state managment
  • Offline-First with repository pattern(all screens except coin details page)
  • Kotlin Coroutines & Flows for concurrency, observer pattern and data streaming.
  • Room & DataStore For data persistence and caching.
  • Dagger Hilt for dependency injection.
  • WorkManager for background task and synchronizing coins database.
  • Paging 3.0: for pagination with offline support.
  • Light/Dark Mode and Material3.0 design
  • Ktor and OkHttp with coroutines for networking
  • Vico for Line charts
  • Coil for image loading
  • Kotlin Arrows: test kotlin arrow on this project
  • CoinGecko Free Api: All data provided by coingecko public api (https://www.coingecko.com/en)