Skip to content

An Android application use API and parse HTML to display popular crypto list. Built with Clean architecture and Jetpack component (Jetpack Compose, MVVM Clean, Kotlin, HILT, ROOM DB, Retrofit2, Coroutines, Kotlin Flow and many more..)

License

Notifications You must be signed in to change notification settings

sepehrsun/MVVM-Clean-Architecture-Crypto-Analyzer

Repository files navigation

Stargazers Issues MIT License LinkedIn


Logo

MVVM-Clean-Architecture-Crypto-Analyzer

This app show list of gainers in 3 major crypto analytics sites.

View Demo · Report Bug · Request Feature

About The Project

An Android application use API and parse HTML to display popular crypto list. Built with Clean architecture and Jetpack component (Jetpack Compose, MVVM Clean, Kotlin, HILT, ROOM DB, Retrofit2, Coroutines, Kotlin Flow and many more..). It was made to describe the latest android development trend.

App features:

  • List of popular coins from 3 major crypto analytics sites:
    • Dextools.io - Uses dextools API to get gainers ,losers and hotpairs list.
    • Coingecko.com - Parse coingecko site to get gainers ,losers and New coins list.
    • Coinmarketcap.com - Uses coinmarketcap API to get gainers,losers,trending,most visited coin list.
  • Export data to excell.

Screenshots

drawing

(back to top)

Architecture

Uses concepts of MVVM Clean Architecture.

  • Your code will be even more easily testable than with plain MVVM.
  • Your code will be further decoupled.
  • The project will be even easier to maintain.
  • Your team can add new features even more quickly.
  • view - It uses all the components and classes related to Android Framework. It gets the data from domain layer and shows on UI.
  • viewmodel - The domain layer contains the UseCases that encapsulate a single and very specific task that can be performed. This task is part of the business logic of the application.
  • model - Handles data interacting.
    • data - The data layer implements the repository pattern. This layer provide a single source of truth for data.
    • remote - Handles data interacting with the network.

Built With

  • Kotlin - Kotlin is Google's preferred language for Android app development.
  • Kotlin Coroutines - A coroutine is a concurrency design pattern that you can use on Android to simplify code that executes asynchronously
  • Flow API - Flow is used to pass (send) a stream of data that can be computed asynchronously
  • Dagger-Hilt - for dependency injection.
  • Android Architecture Components
    • ViewModel - Stores UI-related data that isn't destroyed on UI changes.
    • Navigation - Used to navigate between fragments.
    • Compose - Jetpack Compose is Android’s recommended modern toolkit for building native UI.
  • Material-Components - Material design components like ripple animation, cardView.
  • Retrofit - Used for REST api communication.
  • OkHttp - HTTP client that's efficient by default: HTTP/2 support allows all requests to the same host to share a socket
  • Gson - Used to convert Java Objects into their JSON representation and vice versa.
  • Coil - An image loading library for Android backed by Kotlin Coroutines
  • Jsoup - Used for parse HTML pages
  • Apache POI - Export to excel files

(back to top)

Installation

  1. Clone this repository
  2. Build the application

(back to top)

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

Contact

Sepehr Nouzarian - sepehr.android@yahoo.com

Project Link: https://github.com/sepehrsun/MVVM-Clean-Architecture-Crypto-Analyzer

(back to top)

About

An Android application use API and parse HTML to display popular crypto list. Built with Clean architecture and Jetpack component (Jetpack Compose, MVVM Clean, Kotlin, HILT, ROOM DB, Retrofit2, Coroutines, Kotlin Flow and many more..)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages