Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thermondo/backend-coding-challenge
Thermondo's backend coding challenge 🍿
https://github.com/thermondo/backend-coding-challenge
Last synced: about 1 month ago
JSON representation
Thermondo's backend coding challenge 🍿
- Host: GitHub
- URL: https://github.com/thermondo/backend-coding-challenge
- Owner: thermondo
- License: mit
- Created: 2021-12-17T12:03:45.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-23T20:42:04.000Z (2 months ago)
- Last Synced: 2024-10-24T08:30:16.036Z (2 months ago)
- Language: Makefile
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 3
- Forks: 13
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Backend Senior Coding Challenge 🍿
Welcome to our Movie Rating System Coding Challenge! We appreciate you taking
the time to participate and submit a coding challenge! 🥳In this challenge, you'll be tasked with designing and implementing a robust
backend system that handles user interactions and provides movie ratings. We
don't want to check coding conventions only; **we want to see your approach
to systems design!****⚠️ As a tech-agnostic engineering team, we ask you to pick the technologies
you are most comfortable with and those that will showcase your strongest
performance. 💪**## ✅ Requirements
- [ ] The backend should expose RESTful endpoints to handle user input and
return movie ratings.
- [ ] The system should store data in a database. You can use any existing
dataset or API to populate the initial database.
- [ ] Implement user endpoints to create and view user information.
- [ ] Implement movie endpoints to create and view movie information.
- [ ] Implement a rating system to rate the entertainment value of a movie.
- [ ] Implement a basic profile where users can view their rated movies.
- [ ] Include unit tests to ensure the reliability of your code.
- [ ] Ensure proper error handling and validation of user inputs.## ✨ Bonus Points
- [ ] Implement authentication and authorization mechanisms for users.
- [ ] Provide documentation for your API endpoints using tools like Swagger.
- [ ] Implement logging to record errors and debug information.
- [ ] Implement caching mechanisms to improve the rating system's performance.
- [ ] Implement CI/CD quality gates.## 📋 Evaluation Criteria
- **Systems Design:** We want to see your ability to design a flexible and
extendable system. Apply design patterns and software engineering concepts.
- **Code quality:** Readability, maintainability, and adherence to best
practices.
- **Functionality:** Does the system meet the requirements? Does it provide
movie
ratings?
- **Testing:** Adequate test coverage and thoroughness of testing.
- **Documentation:** Clear documentation for setup, usage, and API endpoints.## 📐 Submission Guidelines
- Fork this GitHub repository.
- Commit your code regularly with meaningful commit messages.
- Include/Update the README.md file explaining how to set up and run your
backend, including any dependencies.
- Submit the link to your repository.## 🗒️ Notes
- You are encouraged to use third-party libraries or frameworks to expedite
development but be prepared to justify your choices.
- Feel free to reach out if you have any questions or need clarification on the
requirements.
- Remember to approach the challenge as you would a real-world project, focusing
on scalability, performance, and reliability.## 🤔 What if I don't finish?
Part of the exercise is to see what you prioritize first when you have a limited
amount of time. For any unfinished tasks, please do add `TODO` comments to
your code with a short explanation. You will be given an opportunity later to go
into more detail and explain how you would go about finishing those tasks.