In this Back End Coding Challenge Limbic would like to see your skills and coding habits in a production server environment.
Please don't spend more than about 8 hours on this. We are mostly interested in seeing your coding style and patterns, even if you don't finish everything.
You are tasked with writing an API to create Users and Posts. It should be a Node.js server with the following endpoints:
- Register a new user to database
- Create a new post for user in database
- Return user and his posts
You can pick from 2 different tech stacks, which are of equal interest to us:
- TypeScript
- Node.js
- Apollo GraphQL
- PostgreSQL (you may use an ORM like Sequelize if you like)
- Jest / Mocha-Chai
- TypeScript
- Node.js
- Express
- MongoDB (you may use libs other than the native one if you like)
- Jest / Mocha-Chai
- It should be production quality as you understand it, i.e. tests, Docker, README, documentation, etc.
- TypeScript
- Project structure
- Unit tests
- API design
- Error handling
- Dockerize the service
The following tasks are not required, but will give you an extra bonus if you complete them
- Update user, taking into consideration possible concurrency issues
- Integration tests
- Fork this repo
- Issue a Pull Request when you're ready to start. This will count as your starting date
- Set up your development environment chosen
- Implement your server
- Commit changes into the forked repo
- Setup your development environment chosen
- Implement your server
- Archive your solution into a zip file
- Send us the zip file. We should be able to extract the content and run it from there (w/o node_modules)