Skip to content

pablopatarca/CryptocurrenciesApp

Repository files navigation

Crypto App 🤑

Crypto is an Android app to track crypto assets values made with MVVM Arch pattern, following Clean Architecture and SOLID principles, Oriented Objects and Reactive Programming paradigms and supported by using the following libraries:

  • Jetpack Compose,
  • Dagger Hilt,
  • Room,
  • Retrofit,
  • Kotlin Flow,
  • AnyChart,
  • Coil, and more...

Crypto app.

Architecture

The architecture is built around Android Architecture Components and follows the MVVM pattern and the recommendations laid out in the Guide to App Architecture.

Diagram of a typical app architecture.

Presentation layer

Logic is kept away from Activities and Fragments and moved to ViewModel. Data is observed using Kotlin Flows and the Data Binding Library binds UI components in layouts to the app's data sources. The Navigation component is used to implement navigation in the app, handling Composable Screens or Fragment transactions and providing a consistent user experience.

Domain layer

A lightweight domain layer sits between the data layer and the presentation layer, and handles discrete pieces of business logic off the UI thread. See the .\*UseCase.kt files under /domain.

Data layer

The Repository follows the Facate Structural Pattern to handle data operations. Moust of the data is provided mainly from two Data Sources; stored with Room and from the network using Retrofit. The repository modules are responsible for handling all data operations and abstracting the data sources from the rest of the app.

Data Sources

All the information is provided from coincap.io API as well as the logo images.

About

App to track cryptocurrencies values

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages