A web-based dashboard for analyzing Poloniex portfolio holdings + trade history to provide useful insights
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backend
frontend
prefiller
.eslintrc
README.md

README.md

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.

Security/Privacy Information

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 me@ameo.link.

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.

Prefiller Utility

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.

Backend

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.sample.rs to /backend/src/schema.rs and the file /backend/src/secret.sample.rs to /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.

Frontend

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.sample.js to /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 /frontend/dist/ directory.

Setup

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.

Contributing

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 me@ameo.link so that we can discuss the change before you start serious work.