TroyBau
UPDATE Project is inactive now
TroyBau, troybau.com is a platform for crypto currency exchanges. It provides trading and portfolio management by real-time data flows.
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.
Architecture Link to heading
The system consists of the following components:
troybau-monitor
Link to heading
- 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
Link to heading
- 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
Link to heading
- Opens/Close orders
- Writes user changes to DB
- Publishes user changes to Redis pub/sub
webapp
Link to heading
- REST/WebSocket API-powered App
- Real-time updated overview on orders, transactions, balances and sessions
Tech Stack Link to heading
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 Link to heading
©2023 TroyBau. All rights reserved. Terms of Use.