Tired of trading ? Come to Thailand and trade Bitfinex on the beach.
Order Book, Ticker and Trades are implemented according to the challenge and Bitfinex's corresponding widgets. Precision and depth bars scale on order book can be changed (UX can be improved). WebSocket connection controls are handled separately in each container (Book, Ticker, Trades). The market is fixed to tBTCUSD pair.
I personally wanted to do refactoring after the challenge is finished, so please only inspect the 8 hrs result on master
branch, not refactor
branch.
refactor
branch was merged to master
yarn
yarn start
- (Critical defect. Fixed but overtime) Unsorted order book on update action.
- Daily change in percentage is wrongly displayed (must be multiplied by 100).
- First depth bar's width sometime gets too small and is calculated to 0. So scaling has no effect on it (scale * 0 = 0).
- Performance optimization on Order Book (Implemented for ease of inspection).
- Higher order component to recycle repeated WebSocket code in Book, Trades and Ticker containers.
- Move
subscribing
,subscribed
states of Book, Trades to its corresponding reducer. - Recyclable action rows and better UX for order book actions UI.
- Recyclable styled components.
- Better component separation and encapsulation (e.g. more clarity on props passed to BookRow).
- Better loading state and indicator.
- Cleaner HTML and decision tree code.
- Remove unused redux middleware (thunk).
- Unit tests on all reducers. Some snapshot tests on components and containers using Enzyme.
- React & Redux
- Immutable (List, Map)
- BigNumber.js
- day.js
- styled-components
This project was bootstrapped with Create React App.