Welcome to Vasco's backend challenge. You are tasks to implement a few tRPC procedures around Vasco's business requirements, although simplified. The API will be consumed in a revenue forecast UI similar to a Google Sheet.
First, clone this repo (do not fork it).
git clone https://github.com/vascohq/jobs
cd backend
Then install all required dependencies:
yarn install
Solve the levels in ascending order by writing code that makes each level.test.ts
pass.
yarn workspace level1 test
When you are done, see how to submit your challenge on the main README.
The challenge is separated in levels and they become more complex over time, so you will probably have to re-use some code and adapt it to the new requirements.
- A good way to solve this is by writing Clean Code, adding new layers of abstraction when they become necessary and possibly write tests so you don't break what you have already done.
- Don't hesitate to write shameless code at first, and then refactor it in the next levels.
- For higher levels we are interested in seeing code that is clean, extensible and robust, so don't overlook edge cases, use exceptions where needed.
- Organize code and files as it was a big production application
All levels shares the same data: data/targets.json
. Use it as you see fit to complete each level.