Poloniex Portfolio Analysis Dashboard
The purpose of this tool is to provide an overview of one's Poloniex account. It will show detailed analysis of current holdings, how portfolio value has changed over time, and provide a variety of advanced analysis of a user's trading history and account activity.
This application neither records, transmits, nor externally analyzes any provided user data. The data that it accepts does not contain any personally identifying information nor any data that could be used to access, compromise, or breach any user's Poloniex account. The only extrenal requests that this application makes are to the internal API (which only provides cached access to Poloniex API data) and the Poloniex public API itself.
If you have any questions about the site's data usage or for additional privacy information, please contact me via email at firstname.lastname@example.org.
Development Setup and Installation
After you've cloned the repository, you need to create a MySQL database that can be used for caching Poloniex API data. Please note that this application doesn't store any user data; the only purpose of the database is for the internal API.
After you've set up the database, you'll need to set up and run the prefiller utility with populates the database with data from the Poloniex API. Copy the
/prefiller/conf.sample.js file to
/prefiller/conf.js and replace the contained values with those for your database. Once you've done that, run the utility by executing
node index.js from within the
prefiller directory. This will take several hours to run and will use a few gigabytes of storage space.
This tool relies on an API connector written in Rust to expose the cached Poloniex API data to the frontend web application. To build it, you need a nightly version of Rust which can be installed using rustup.
Once you've installed nightly Rust, you'll need to set some configuration variables for the backend. Copy the file
/backend/src/schema.rs and the file
/backend/src/secret.rs and change the contained values to those applicable to you. Once you've done that, navigate to the
/backend/ directory and run the commands
cargo build --release to compile the backend.
To build the frontend, you'll need to install the NodeJS dependencies by running
npm install in the
/frontend/ directory. Then, copy the file
/frontend/src/conf.js and set the contained values to those applicable to you. Finally, execute
npm run build to generate an optimized, minified distribution that will be located in the
To start the application, either copy and execute the generated binary located at
/backend/target/release/polo-dashboard-backend to start the backend and visit static site generated by
npm run build in the previous step. You should see the PoloTrack homepage, be able to analyze data, and use the full site functionality.
Current Development Progress
The current development tracker and planning area for the tool is located on the Github Project Page for this repository. As of now, the site is still in active development and not yet ready for use or testing.
I'm happy to accept any pull requests for bugfixes or small changes. I'm also happy to accept larger changes such as new features or additional functionality. If you'd like to add such a contribution, please contact me via email at email@example.com so that we can discuss the change before you start serious work.