Original technical test instructions
- Install Node.js. A good practice is to first install nvm to be able to manage multiple Node.js version (via brew or the nvm script)
- After cloning, run once:
npm install
npm test
(alternatively, runnvm test:watch
to continuously run the tests when editing the code)
Some topics to talk:
- Present the problem, the use cases and define the ubiquitous language
- Discuss the implemented model from an UML "class" diagram. Mention the use of the Aggregate DDD tactical pattern.
- Present the code and the decisions/trade-offs (present a more functional version)
- Discuss the test strategy (classical/Chigago approach & scaffolding tests)
- Talk about how to scale the solution and make it reliable/resilient