Tech

BackendCat facts challenge

Introduction

This is not a test; we'd like to see how you approach a problem and construct a solution.

  • 😸 Be sure to write comments, a README and any assumptions. Provide instructions on how to run the project and any notes about your solution.
  • 😻 We’re most interested to see problem solving and your approach.
  • 😹 Keep it simple, keep it SOLID, but don’t over complicate or over engineer.
  • 😽 Comment and unit test as appropriate.
  • 😺 Commit your code to a public Git repository and provide us with the URL.
  • 😻 We know your time is precious. If you're not able to complete all of tasks - no worries! Just detail what you’ve prioritised and why in your README.

Brief

Given the below Swagger definition and data file you need to implement the Cat Facts API.

For the purpose of this challenge, the data can be read directly from and written back to the JSON file.

Tip: You can view the swagger file using editor.swagger.io .

Tasks

  1. Setup your solution and implement the 'Get random fact' endpoint.
  2. Implement the 'List facts' endpoint.
  3. Implement the 'Add new fact' endpoint.

Note: If you don't manage to complete all tasks, don't worry! Just let us know what approach you would have taken and why.

Questions

After completing the tasks, please answer the following questions and include them within the README file.

  1. How long did you spend completing the challenge?
  2. Given more time, what could you do to improve your solution?
  3. What did you think of the challenge?