gmanroney / cryptoboard

Collects data from multiple cryptocurrency exchanges, transforms it and posts it into redis
MIT License
11 stars 2 forks source link
gruntjs javascript nodejs redis websockets

Summary

Collects data from multiple cryptocurrency exchanges, transforms it and posts it into Redis

Background

Need to be able to do like-by-like comparison of different cryptocurrencies in an investment platform. Problem is that it is not easy to do so with the multitude of platforms and different data provided by their real-time streams.

Task

  1. Connect to websocket api interface (using native library, if exists);
  2. Read JSON-config file with Redis connection settings as list of symbols (symbol usually consist of coin and currency);
  3. Subscribe to trade data on given symbols
  4. Push all trades to the Redis to queue named Exchange:Symbol as array of [timestamp, trade_id(if exists), price, amount, side(buy/sell)]
  5. Application will reconnect on connection fail and be optimized for speed / throughput.

Business Rules

Deliverables