Overview
- There are 2 problems for you to choose from:
- The Order Book and The Payment Gateway
- You only need to submit ONE
- After received this assignment, you have 1 week to finish.
- If you find that you are short on time and have to cut some part out, please elaborate on why you choose to de-prioritize the unfinished part in proper document.
- General requirements that apply to both problems
- well-tested, has automated test covered (the part you don't cover, you can justify why, missing test for some part is acceptable as long as the reasoning is sound)
- the code base is readable, extensible, composable
- ease of development environment setup would be a plus (eg. having docker-compose, or at least clear documentation on how to setup)
- document whatever you think make sense if there will be collaborator on the project
- the calculation must be correct (e.g. floating point errors must be handled)
- the UI DOES NOT need to be beautiful but needs to be functional
- DB IS NOT NEEDED , data does not need to be persisted for simplicity sake
- Code with the mindset that this will be extended and worked on by others
- To submit the assignment, push your code to private Github repository provided by us
- We do not expect work in progress to be perfect.
Problems (pick one)
The Order Book
https://www.figma.com/embed?embed_host=share&url=https%3A%2F%2Fwww.figma.com%2Ffile%2FgPHBRrdIi618nHz2rw0jCD%2FTask-Home-Assignment---The-Order-Book%3Fnode-id%3D0%253A1
- This problem is going to be frontend heavy and a bit of backend
- The goal is to implement an order book for
BTC/USD
pair
- BTC is denominated in decimal number with 8 decimal places
- USD is denominated in decimal number with 2 decimal places
- Technical requirements
- Frontend must be implemented with React and Typescript
- There is no restriction for backend language or framework
- There is no restriction for protocol to interact with the backend
- There are 2 main features for this problem
- Order book visualization
- Order submission & Order matching
<aside>
💡 This problem might look intimidating, but it's just due to detailed explanation about how order book works to aid your design, the actual complexity is relatively the same as the second problem.
</aside>
Order book visualization