/BitcoinTicker

A Simple Cryptocurrency Price Tracker App

Primary LanguageKotlinApache License 2.0Apache-2.0

BitcoinTicker

Crypto coins ticker app

Screenshots

Architecture

MVVM (Model - ViewModel - View) is the design pattern used for making this app. MVVM provides a clear separation of concern and has great support in Android SDK in the form of Architecture Components.

Libraries Used

  • Architecture - A collection of libraries that help you design robust, testable, and maintainable apps.
    • Data Binding - Declaratively bind observable data to UI elements.
    • LiveData - Build data objects that notify views when the underlying database changes.
    • Room - Access your app's SQLite database with in-app objects and compile-time checks.
    • ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
    • Dagger - For Dependeny Injection
    • Kodein - For Dependeny Injection
    • Navigation - Handle everything needed for in-app navigation.
  • Third party
    • Glide - For image loading
    • Kotlin Coroutines - For managing background threads with simplified code and reducing needs for callbacks
    • MPAndroidChart - To chart the financial data
    • Retrofit - For making HTTP requests
    • Firebase - Cloud system where user information is stored
    • coingecko - API that broadcasts live data about crypto coin
    • Timber - A logger with a small, extensible API which provides utility
    • RxJava - For Kotlin RXJava

Authors

License

This project is licensed under the Apache 2.0 License - see the LICENSE.md file for details.