As part of your hiring process, we have an assignment for you. You will be tasked with building a new python Rest API endpoints that interacts with a graph database.
Our company has been hired by a social media platform to develop a new recommendation system. The platform wants to be able to suggest friends to users based on their common interests. So for example if User1 likes soccer, and User2 also likes soccer, they are potential friends.
- Use a graph database such as Neo4j or Neptune to store and retrieve data.
- All endpoints should be written in python.
- Build endpoints in the application that should create users, hobbies and the relationship between them.
- Build endpoint in the application that enables the social media platform to suggest friends to users based on their interests. This endpoint should return a list of friends for a given interest.
- All the endpoint should return data in a JSON format.
- Write unit tests for the endpoint using a testing framework such as pytest.
- Write end-to-end tests for the endpoint using a testing framework such as pytest-bdd.
- A README file that includes instructions for setting up and running the project and tests.
- The application should be well-documented, with clear comments and explanation of the code.
- The code should be well-structured, following best practices for Python development.
- The application should be able to handle errors and edge cases gracefully.
