Cryptocurrency App with MVVM design pattern to track all the coins data and other informatoion in realtime for android. Written in Kotlin using Android SDK. Please don't forget to give stars so that i keep updating the project.
This Application allows users to view Cryptocurrency prices and monitor their rise and drop.
-
Built Cryptoinfo application with necessary Cryptocurries regarding information by leveraring the benefits of several public apis.
-
User can View Lists of Cryptocurrencies with their prices. as well as all detailed information regarding team members, tags etc.
-
User can explore all the related web references with respect to each coin.
-
Calculator to covert and calculate cryptocurries to USD in using realtime crypto value.
Recently i got interested in Digital Currency Specifically cryptocurrency.
I believe Blockchain Technology might be the Second best invention after the Internet, also i wanted to learn blaockchain but i need to first master Native android development then i will definitly give it a shot.
However Lets Talk Code! 💻
This project came to mind, and i thought that let's build something regarding cryptocurrncies, then i came across several public apis.
I wanted to challenge myself with code as I tried to build this app as clean as possible and i will try my best to optimize the code, i have used Coroutines, MVVM, Livedata and other best practices.
Further this is not completed yet but i am daily working on this thing.
A couple of things to get you started:
- Ensure you have Java installed
A simple way to install Java is using sdkman.
Simply follow the instructions to have sdkman installed and install java:
sdk install java
Gradle is used as the build tool and can be installed with sdkman:
sdk install gradle
Android SDK used to provide all the necessary developer tools to build, test, and debug apps for Android in Windows, Mac or Linux.
Android SDK build tools used to debug, build, run and test an Android application.
Some Basic knowlegde useful to understanding the project or just for fun
What is the "Value of Bitcoin" ?
The Value of Bitcoin is actually the trust and utility of the Bitcoin network itself. In reality its just worth what someone is willing to pay for it.
What is "Market Capitalization" and how is it calculated?
Market Capitalization is one way to rank the relative size of a cryptocurrency. It's calculated by multiplying the Price by the Circulating Supply.
Market Cap = Price X Circulating Supply.
What is "Circulating Supply"
Circulating Supply is the best approximation of the number of coins that are circulating in the market and in the general public's hands.
What is "Total Supply"
Total Supply is the total amount of coins in existence right now (minus any coins that have been verifiably burned).
- What is "Max Supply"
Max Supply is the best approximation of the maximum amount of coins that will ever exist in the lifetime of the cryptocurrency.
For providing all the necessary developer tools to build, test, and debug Android applications on Windows, Mac or Linux.
For debugging, building, running and testing an Android applications.
Coin Market Cap is a platform which provides fast, reliable and unified data APIs to cryptocurrency markets.
For more info about the API check out the API Section.
-
GSON was used in the API to convert Java Objects into JSON and back
-
Gson is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. Gson can work with arbitrary Java objects including pre-existing objects that you do not have source code of.
- A type-safe HTTP client for Android and Java.
-
Picasso was used to display cryptocurrency logos.
-
Picasso is an image library for Android.It caters to image loading and processing. It simplifies the process of displaying images from external locations
-
MVVM architecture is a Model-View-ViewModel architecture that removes the tight coupling between each component.
-
Most importantly, in this architecture, the children don't have the direct reference to the parent, they only have the reference by observables.
COINMARKETCAP and COINPAPRIKA API
The CoinMarketCap API is a suite of high-performance RESTful JSON endpoints that are specifically designed to meet the mission-critical demands of application developers, data scientists, and enterprise business platforms.
Coinpaprika api is a public api and we do not need any API KEY, we can use it directly.
For CryptoInfo Gson components were used to parse JSON into Java objects.
Gson is an open source Java library to serialize and deserialize Java objects to JSON.
The benefit you get with GSON is that object mapping can save the time spent writing code.
-
You will need Internet connection.
-
You need to get into the crypto-info.
Link:-> https://github.com/ThakurVibha/crypto-info.git
-
From there you can access CryptoInfo.
-
Clone the project.
-
get into project folder (cd into project).
-
If you have all the Pre-requisites
-
Open your Android Studio Editor and run the Application.