All Projects → Ameobea → polotrack

Ameobea / polotrack

Licence: other
A web-based dashboard for analyzing Poloniex portfolio holdings + trade history to provide useful insights

Programming Languages

javascript
184084 projects - #8 most used programming language
rust
11053 projects
CSS
56736 projects
HTML
75241 projects

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 [email protected].

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 [email protected] so that we can discuss the change before you start serious work.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].