We are looking for people who can build great software, so we created this challenge to test your skills.
Lex users want to report to moderators posts that are inappropriate. The moderators want to be more efficient in resolving these reports. They decided to build a software that can automate their processes — the software that you're going to develop.
Your task is to provide APIs for a frontend application that satisfies all Product requirements described below.
This is important. We hope you can spend about 4 hours on this project. If you can finish faster - great! If not, limit yourself and don't spend much longer than 4 hours.
- Users can report an inappropriate post.
- New reports should be automatically assigned to any free moderator.
- A moderator can only handle one report at a time.
- When a moderator reviews a post, the report is marked as resolved and the responsible moderator becomes available to take a new report.
- The system should be able to assign unassigned reports automatically when a moderator becomes available.
- Node.js
- You are free to use any database or framework, but please explain your choice.
- Tests - focus on coverage that in your opinion makes the most sense.
- Please stick to the product requirements. You should not implement authorisation and authentication, as they are not important for the assessment. Assume everyone can make requests to any API.
- We value quality over feature-completeness. The goal of this code sample is to help us identify what you consider production-ready code. You should consider this code ready for final review with your colleague, i.e. this would be the last step before deploying to production.
Create a private repository on GitHub and invite rafalzawadzki to it. Optionally, send us a link to a deployed version on Heroku or any other service that will expose that API for testing.