Thank you for your interest in MRP. This challenge is intended to help us better understand your approach to solving problems using the NodeJS runtime. We are excited about your candidacy, and we are looking forward to reviewing your submission.
The only dependency for this challenge is NodeJS. Aside from your editor of choice, you should not need any additional software to complete this challenge.
The goal of this challenge is to develop a restful HTTP API using NodeJS. Within the data
directory you will find the file users.json
. Please use that file as a data source to develop a restful HTTP API for performing CRUD operations upon that data.
- Create a HTTP endpoint to view all of the users.
- Create a HTTP endpoint to create a new user.
- Create a HTTP endpoint to update an existing user.
- Create a HTTP endpoint to delete an existing user.
- Use TypeScript
- Add automated tests
- Add request validation
- Add support for query parameters, such as:
- pagination:
?page=2&limit=5
- sorting:
?sortBy=email&sortDirection=ascending
- matching:
?match[email][email protected]
- pagination:
- Please commit early and often. We are interested in seeing more than just the final product.
- Feel free to add NPM dependencies as you see fit.
- Please do not add external dependencies, such as MongoDB/MySQL/etc.
- When finished, please provide a link to your fork of this repository
During review we are considering several factors. A non-exhaustive list has being included for your consideration.
- General approach to API development
- Use of native modules, prototypes, etc
- Use of NPM dependencies
- Code style and consistency
- Git commit frequency and quality
- Logical correctness
- Performance and efficiency
- Simplicity and flexibility