A responsive desktop application displaying live Cryptocurrency prices
Crypto desk requires nodejs. If you don't have it already you can download it here.
1. Fork this repository
2. clone and extract zip
3. cd
into the repo
4. npm install
to install the dependencies (listed below)
5. Run npm start
to launch crypto-desk
Cryptocurrency prices are provided by Cryptocompare API.
The CryptocompareAPI is a free API for cryptocurrency live pricing data, OHLC historical data, volume data or tick data from multiple exchanges. You can also get free aggregated news and block explorer data (supply, hashrate, latest block number etc).
This application is built using vanilla HTML/CSS and utilises the following dependencies:
-
Axios: A promise based HTTP client for the browser and node.js. Some features (from the readme) include:
- Make XMLHttpRequests from the browser
- Make http requests from node.js
- Supports the Promise API
- Automatic transforms for JSON data
-
Electron: (from their website) "is an open source library developed by GitHub for building cross-platform desktop applications with HTML, CSS, and JavaScript. Electron accomplishes this by combining Chromium and Node.js into a single runtime and apps can be packaged for Mac, Windows, and Linux."
This chart shows more information about each cryptocoin currently installed in the app. Coin information is provided by CryptoCompare.
Coin | Max Supply | Start Date | Algorithm | Proof Type |
---|---|---|---|---|
Bitcoin (BTC) | 21,000,000 | 03/01/2009 | SHA256 | Proof of Work |
Etereum (ETH) | N/A | 30/07/2015 | Ethash | Proof of Work |
Litecoin (LTC) | 84,000,000 | 13/10/2011 | Scrypt | Proof of Work |
Ripple (XRP) | 100,000,000,000 | 02/02/2013 | - | - |
There are many customizable elements of an Electron app. In this specific application I decided not to add a frame, hence why the application is borderless. If you would like to have a border for your application, make the following changes:
1. Open main.js.
2. Find the createWindow()
function.
3. Edit the following line
win = new BrowserWindow({
width: 300,
minWidth: 300,
height: 515,
minHeight:515,
frame: false}) // this line here
change frame: true
(or remove it completely as the default value is true), After saving and starting electron you will now have a border for your application.
This app was designed with a mobile first approach. The application is responsive and you can resize the app to your liking.
If you wish to use developer tools while using Crypto Desk:
1. Open main.js.
2. Find the createWindow()
function.
3. Edit the following line.
Remove the comment from line: win.webContents.openDevTools()
. After restarting electron, you will now have developer tools enabled.
A list of components to (eventually) add.
- Add new/more coins (partially done)
- Add price setting for desktop notifications
...
Copyright (c) 2018 Furqan17
Licensed under the MIT License