TroyBau

UPDATE 08-2019: The Site under maintanance - Transition from Tornado to Django Channels

TroyBau, troybau.com is a platform for crypto currency exchanges. It provides trading and portfolio management by real-time data flows.

Troybau Trade

TroyBau was created to manage your crypto portfolio and trades easily from just one UI. Besides automated trading based on price change triggers and various trading strategies, it also provides a real-time updated dashboards for your exchange accounts where you can see all your orders, balances and transactions real-time updated. Also it gives some unique features that all exchanges don’t have; such as OCO.

As usual, it started with my own needs: how might I scratch my own itch? I’m myself using it everyday.

Troybau Trade 2

Architecture


The system consists of the following components:

Troybau Architecture

troybau-monitor

  • Connect to various exchange websocket stream endpoints
  • Polls various exchanges API endpoints (if wss not exist)
  • Writes changes to DB
  • Publishes changes to Redis pub/sub

troybau-server

  • Serves Webapp static files
  • Exposes DB for Webapp via a API/REST API
  • Forwards Redis pub/sub messages from Trader/Monitor to Webapp via WebSocket/HTTP
  • Exposes Django modules that is currently used for managing sessions

troybau-trader

  • Opens/Close orders
  • Writes user changes to DB
  • Publishes user changes to Redis pub/sub

webapp

  • REST/WebSocket API-powered App
  • Real-time updated overview on orders, transactions, balances and sessions

Tech Stack


Troybau Tech Stack

The server-side parts , troybau-server + troybau-monitor + troybau-trader are written in Python 3 and use a mixture of Django and Tornado (WebSockets, async IO). Other libraries that are used include redis-py, Django REST framework etc.

The webapp is written based on gentelella template. This template uses the default Bootstrap 3 styles along with a variety of powerful jQuery plugins and tools to create a powerful framework for creating admin panels or back-end dashboards.

Webapp scripts included:

  • Bootstrap
  • Font Awesome
  • jQuery-Autocomplete
  • FullCalendar
  • Charts.js
  • Bootstrap Colorpicker
  • Cropper
  • dataTables
  • Date Range Picker for Bootstrap
  • Dropzone
  • easyPieChart
  • ECharts
  • bootstrap-wysiwyg
  • Flot - Javascript plotting library for jQuery.
  • gauge.js
  • iCheck
  • jquery.inputmask plugin
  • Ion.RangeSlider
  • jQuery
  • jVectorMap
  • moment.js
  • Morris.js - pretty time-series line graphs
  • PNotify - Awesome JavaScript notifications
  • NProgress
  • Pace
  • Parsley
  • bootstrap-progressbar
  • select2
  • Sidebar Transitions - simple off-canvas navigations
  • Skycons - canvas based wather icons
  • jQuery Sparklines plugin
  • switchery - Turns HTML checkbox inputs into beautiful iOS style switches
  • jQuery Tags Input Plugin
  • Autosize - resizes text area to fit text
  • validator - HTML from validator using jQuery
  • jQuery Smart Wizard

License and Terms of Use

©2019 TroyBau. All rights reserved. Terms of Use.