* - this feature has not yet been implemented and will be included in a later release. As of right now, the price history date range is hard-coded into the application.
To install and run this application, please download the latest version of android studio from Here
The project was created with a minimum SDK of 19 and a target SDK of 30. This repository can then be cloned or downloaded and imported into android studio. Please ensure that your SDK version is correct.
This app can be run using android version 4.0 or greater. It can be run using the built-in emulator within android studio OR by using an actual android device.
Any and all contributors are welcomed to this project.
To Contribute,
- Clone the repo and create a new branch
- Make changes, add features, and test.
- Create a pull request. Ensure to include a consise description of the changes you made.
- /data/: contains all files used to communicate with the CoinDeskApi.
- /ui/: contains all fragments and viewmodels
- MainActivity.kt contains the main activity to connect to the fragments and nav bar.
All data used in this app is retrieved from theCoindesk API
- ~~The Chart does not update once the asynchronous API call is complete~~
- invalid character (non-digit) at the end of the fiat_price_edittext causes the app to crash
- user-inputted values on livepricefragment resets upon switching to the price history fragment
- PriceHistory
- Add Currency Conversion
- Add User-Specified Date Ranges
- LivePrice
- Add feature which refreshes the API on a 30-second basis
- Additional Features
- Implement a third fragment which fetches tweets from Elon Musk that mention bitcoin using the twitter API and regex. This feature will notify the user whenever elon makes a tweet about bitcoin
- Notify the user whenever bitcoin hits a new all-time high, all-time low, 60-day high, etc.
- AACharts Used to create the price history chart
- Moshi and Retrofit2 used to make API requests, handle responses, and parse JSON
- CoinDesk Used to retrieve real-time bitcoin price updates and price history updates
- Bootstrap used to help create UI
- Canva used to create some images and logos
- Markdown Badges