anfederico / cryptoview

Elegant portfolio management for multi-exchange traders

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool


                              Python Dependencies GitHub Issues Contributions welcome License

Briefly

Cryptoview is written to be forked and deployed on a free Heroku account. There is a web application component which handles updating and visualizing your positions and there is a scheduler component that periodically tracks your equity and stores it in a database. Ideally, you'll deploy the web application on Heroku and then run the scheduler locally. This will keep your Heroku account free since you won't pay for background dynos and allow you to access your portfolio from anywhere. The only thing you need to do is setup a free online database through mlab, edit a settings file, and deploy straight from Github. I've tried to make these steps as easy as possible.

Setting up the database

  • Make an account at https://mlab.com
  • Create a new deployment in sandbox mode
  • Add a database user to your deployment
  • Keep the site up for the next step

Fork and fill out the settings file

/cryptoview
└── /scripts
    └── settings.py

Deploy it

Heroku
The reason it runs separately is to keep web hosting free, if you decide to host it on Heroku. By handling the background tasks locally, you can run the app in sandbox mode on Heroku and handle the updaters file on your local computer. Fork the repository, create a Heroku sandbox app, and deploy straight from your forked repository.

Locally
After the app is running on Heroku, start tracking your equity locally by running the following file. This is optional and you can turn it on/off whenever you like, however you'll have missing dates in your equity curve. Since mlab is an online database, both Heroku and your local computer can communicate through it. I prefer this method because I can access my portfolio from anywhere online without paying for extra Heroku dynos.

/cryptoview
└── updaters.py

Contributions

Please create an issue for any ideas/comments/features you'd like to see or implement yourself!

About

Elegant portfolio management for multi-exchange traders


Languages

Language:Python 67.4%Language:HTML 27.9%Language:JavaScript 4.6%