This project aims to build an app with JAVAFX in order to preview bitcoin value and process to data analysis. It was build in POO.
- JAVA 13.0.1 for programming
- JAVAFX 11.0.2 for GUI
- GIT
- Github
- [MySQL]
- [Apache POI] for excel reader
- [API Coindesk] for Bitcoin Price
To use the login system and SQL export, install MySQL and create a database name bitcoin_mania then change the "username" and "password" to the database in the class MySQLServer
The application provides 3 types of chart to represent the price curve of Bitcoin and allow user to save the filtered price points in CSV, PDF or SQL file.
- The realtime chart:
- Update the realtime price of Bitcoin from the starting moment of the application
- Price will be update automatically every minute via the API Coindesk
- Allow to choose currency between USD, EUR and GBP
- Allow to define an upper and a lower threshold. When ever the price pass over (under) the upper (lower) threshold, there will be a popup alert.
- Informations about each price point and the threshold lines can be easily obtained by hovering the cursor on the data points or on the threshold lines.
- The historical chart:
- Plot the historical daily close prices of Bitcoin since 18/07/2010
- Plot initially the close prices of the last 31 days (today exclueded)
- Allow user to change the graduation between data points, the minumum graduation is one DAY due to the data provided by the API
- Allow user to choose to plot prices between 2 specified dates or by a smart bounds (Last week, Last Month, Last Year)
- Allow user to define an upper and a lower threshold. Hovering over the threshold lines will display the number of data points that pass over or under that threshold.
- Excel Chart
- Allow user to import an excel file of 2 columns Date and Price and plot all that data.
- Allow user to change the graduation between price points (minimum is 5 mins)
- Allow user to pick period to plot by smart bounds
- Allow user to pick a period between 2 dates to plot
- Also provide the threshold functionality like in historical chart.