CryptoDashApp.jl

Julia dashboard for analysis of cryptocurrency market data
Author vnegi10
Popularity
13 Stars
Updated Last
3 Months Ago
Started In
March 2021

CryptoDashApp.jl

License Build status (Github Actions) Coverage Status

Interactive visualization of historical price (currently only in EUR), health metrics, candlestick and volume data for various cryptocurrencies. Data are obtained via API queries to Alpha Vantage. The app is written in Julia and makes use of Dash.jl along with its react framework to generate a dashboard style view accessible via a browser. Different moving averages are also calculated and plotted along with the daily average price data. Averaging window can be selected by the user.

Functionality of the app will be extended in the future by adding more technical indicators. Contributions are most welcome!

How to use?

API keys

  • Free AlphaVantage API key can be obtained from here.
  • Free demo key for CoinGecko API can be generated by following this guide.

Running in Julia locally

This package is available via the General registry. Add it to your working Julia environment by doing the following in the REPL:

  • Press ']' to enter Pkg prompt
pkg> add CryptoDashApp

Once all the packages are downloaded, you can make use of the CryptoDashApp module from the REPL itself or within a script by executing:

julia> using CryptoDashApp
julia> ENV["KEY_AV"] = "your_AlphaVantage_key"
julia> ENV["KEY_CG"] = "your_CoinGecko_key"
julia> load_keys()
julia> run_app(8056) # where 8056 is the port

Now, open a new tab in your browser and check if you can access http://0.0.0.0:8056/ or http://127.0.0.1:8056/

Running as a Docker container (for versions > 0.6.0)

Assuming that you have Docker installed, and have generated both API keys, a Docker image can be created using the following steps:

  • Clone this repository and cd to the directory

  • Build the Docker image (Here my_app is the name of the generated image)

docker build --build-arg key_av="YOUR_KEY" --build-arg key_cg="YOUR_KEY" -t my_app .
  • Once the image is successfully generated, start a container (port 8010 is hard-coded in the Dockerfile, can also be changed if needed):
docker run -dp 127.0.0.1:8010:8010 my_app
  • Check log output:
docker logs --follow <container id>

First plot will take a few seconds to appear, wait patiently! If you are running this app for the first time, or on a different date, new data will be retrieved from Alpha Vantage, and then saved to CSV files on disk. Keep in mind that the free API key imposes a limit of five calls/minute, which means you won't be able to load data for more than five currencies in quick succession. In case you see an error, wait for a while and then try again.

App demo

For better visual quality, visit this link.