Git Product home page Git Product logo

crpytowatch-jetpack's Introduction

CrpytoWatch

An Cryptocurrency tracker ๐Ÿ’ธ built for riding Android Jetpack ๐Ÿš€. During Google IO18 the Android team released some new libraries along with existing Android Architecture Components. This app aims to use most of AAC libraries in MVVM architecture and serve as a sample written in Kotlin ๐Ÿ’ช

Components used

  • Lifecycle - Used by LiveData.
  • LiveData - For observing upon data in ViewModel.
  • ViewModel - For managing UI data.
  • Room - For persisting data.
  • Paging - For loading long list or infinite data in RecyclerView
  • Navigation - For simplifying navigation using Fragment.
  • WorkManager - For running repeated background Work.
  • DataBinding - For binding data with views in layout.

Other libraries used

  • Dagger 2 - For Dependency Injection.
  • Retrofit 2 - For making network call.
  • Picasso - For loading images into ImageView.
  • Gson - For converting JSON to POJO and vice versa.

What does this app do?

Extremely simple app which just shows list of cryptocurrencies and their present market value. I have used CoinMarketCap API as datasource for this application. You can add some currencies to watchlist which appear on top of home screen and in home screen widget.

This app fetches data once from API using Retrofit and caches it using Room. The watchlist is stored in SharedPreferences as list of IDs. It used Paging Libaray for loading data from database in discrete manner and UI is bound with data using DataBinding.

Screenshots

Screenshot_1530655418

Prerequisites

  • Android Studio 3.2 or later because Navigation library is only supported on newer versions.
  • Android Device with...
    • Android L or above
    • Internet connection
    • USB Debugging enabled

To-Do

  • Add watchlist
  • Write tests
  • Create widget
  • Integrate DataBinding

Built With

  • Android Studio - The Official IDE for Android.
  • Kotlin - The Official Language for Android by JetBrains.
  • Gradle - Build tool for Android Studio.
  • Android Jetpack - Set of libraries to make dev easier.

crpytowatch-jetpack's People

Contributors

minosai avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

crpytowatch-jetpack's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.