CoinMarketCap-Desktop
CoinMarketCap-Desktop copied to clipboard
A simple desktop wrapper for CoinMarketCap
CoinMarketCap Desktop
Warning: Not maintaned anymore. If you're looking for an alternative, check out CoinMarketCap's official widget.
A simple desktop wrapper for CoinMarketCap. Track your favourite cryptocurrencies much more easily! Not affiliated with the official CoinMarketCap. Initial codebase was forked from the Messenger for Desktop project developed by @aluxian.
Roadmap :rocket:
- [x] Ads removed
- [x] Refresh Button
- [ ] Develop the same app for other coin tracking websites, such as CoinGecko
- [ ] Ability to set notifications when a specific price is hit
Donations
Donations welcome if the app helps you. I will return your act of kindness tenfold by further developing tools and projects for the community.
- Bitcoin: 38fyAV4dReCog38JRA9UaoPfeh9RqrmhHQ
- Ethereum: 0x7deb85db0D84CFef5a5b9BDeb868Ac4cF269538d
- Litecoin: LQZ9LqqEiLjMK1DrTCdDKoRndVfpxF74Rt
How to install
Note: If you download from the releases page, be careful what version you pick. Releases that end with -beta
are beta releases, the ones that end with -dev
are development releases, and the rest are stable. If you're unsure which to pick, opt for stable. Once you download the app, you'll be able to switch to another channel from the menu.
- dev: these releases get the newest and hottest features, but they are less tested and might break things
- beta: these releases are the right balance between getting new features early while staying away from nasty bugs
- stable: these releases are more thoroughly tested; they receive new features later, but there's a lower chance that things will go wrong
If you want to help us make CoinMarketCap Desktop better, dev
or beta
are the way to go.
OS X
DMG or zip:
- Download coinmarketcapdesktop-x.x.x-osx.dmg or coinmarketcapdesktop-x.x.x-osx.zip
- Open or unzip the file and drag the app into the
Applications
folder - Done! The app will update automatically
Windows
Installer (recommended):
- Download coinmarketcapdesktop-x.x.x-win32-nsis.exe
- Run the installer, wait until it finishes
- Done! The app will update automatically
Portable:
- Download coinmarketcapdesktop-x.x.x-win32-portable.zip
- Extract the zip wherever you want (e.g. a flash drive) and run the app from there
- Done! The app will NOT update automatically, but you can still check for updates
Linux
Ubuntu, Debian 8+ (deb package):
- Download coinmarketcapdesktop-x.x.x-linux-arch.deb
- Double click and install, or run
dpkg -i coinmarketcapdesktop-x.x.x-linux-arch.deb
in the terminal - Start the app with your app launcher or by running
coinmarketcapdesktop
in a terminal - Done! The app will NOT update automatically, but you can still check for updates
Fedora, CentOS, Red Hat (RPM package):
- Download coinmarketcapdesktop-x.x.x-linux-arch.rpm
- Double click and install, or run
rpm -ivh coinmarketcapdesktop-x.x.x-linux-arch.rpm
in the terminal - Start the app with your app launcher or by running
coinmarketcapdesktop
in a terminal - Done! The app will NOT update automatically, but you can still check for updates
For Developers
Contributions are welcome! Please help me make CoinMarketCap Desktop the best app for cryptocurrency tracking. For feature requests and bug reports please submit an issue or get in touch with me on Gitter or Twitter @PaulRBerg.
Build
Note: for some tasks, a GitHub access token might be required (if you get errors, make sure you have this token). After you generate it (see here if you need help;
repo
permissions are enough), set it as an env var:
- Unix:
export GITHUB_TOKEN=123
- Windows:
set GITHUB_TOKEN=123
I recommend dotenv for local builds.
Install pre-requisites
If you want to build deb
and rpm
packages for Linux, you also need fpm. To install it on OS X:
sudo gem install fpm
brew install rpm
Install dependencies
Global dependencies:
npm install -g gulp
Local dependencies:
npm install
cd src && npm install
Be careful if you update the dependencies, as the app might crash when the CI scripts will try to build it.
Native modules
The app uses native modules. Make sure you rebuild the modules before building the app:
gulp rebuild:<32|64>
Build and watch
During development you can use the watch
tasks, which have live reload. As you edit files in ./src
, they will be re-compiled and moved into the build
folder:
gulp watch:<darwin64|linux32|linux64|win32>
If you want to build it just one time, use build
:
gulp build:<darwin64|linux32|linux64|win32>
For production builds, set NODE_ENV=production
or use the --prod
flag. Production builds don't include dev modules.
gulp build:<darwin64|linux32|linux64|win32> --prod
NODE_ENV=production gulp build:<darwin64|linux32|linux64|win32>
To see detailed logs, run every gulp task with the --verbose
flag.
If you don't specify a platform when running a task, the task will run for the current platform.
App debug logs
To see debug messages while running the app, set the DEBUG
env var. This will print logs from the main process.
export DEBUG=coinmarketcapdesktop:*
To open the webview dev tools, type this in the main dev tools console:
wv.openDevTools();
If you want to automatically open the webview dev tools, use:
localStorage.autoLaunchDevTools = true; // on
localStorage.removeItem('autoLaunchDevTools'); // off
Pack
OS X
You'll need to set these env vars:
SIGN_DARWIN_IDENTITY
SIGN_DARWIN_KEYCHAIN_NAME
SIGN_DARWIN_KEYCHAIN_PASSWORD
Pack the app in a neat .dmg:
gulp pack:darwin64:<dmg:zip> [--prod]
This uses node-appdmg which works only on OS X machines.
Windows
You'll need to set these env vars:
SIGNTOOL_PATH=
SIGN_WIN_CERTIFICATE_FILE=
SIGN_WIN_CERTIFICATE_PASSWORD=
Create an installer. This will also sign every executable inside the app, and the setup exe itself:
gulp pack:win32:installer [--prod]
Or, if you prefer, create a portable zip. This will also sign the executable:
gulp pack:win32:portable [--prod]
These tasks only work on Windows machines due to their dependencies: Squirrel.Windows and Microsoft's SignTool.
Linux
Create deb/rpm packages:
gulp pack:<linux32|linux64>:<deb|rpm> [--prod]
Make sure you've installed fpm.
Release flow
develop -> staging -> deploy -> master
- All work is done on branch
develop
. Every push todevelop
will make the CIs run code linting and other checks. - In order to build, push to
staging
. Every push tostaging
will make the CIs build the app and upload it to Bintray at PaulRBerg/artifacts, available for testing. - After a version is tested and is ready for release, push it to
deploy
. This will rebuild the app and upload it to GitHub, Bintray and other repositories. - Now, the code is ready to be merged into
master
.