Skip to content

Latest commit

 

History

History
24 lines (18 loc) · 1.51 KB

Task.md

File metadata and controls

24 lines (18 loc) · 1.51 KB

Web Development API Task

Your task is to create an API to manage a user persistence layer.

We would expect this task to take a few hours, however there is no strict time limit and you won't be judged on how long it took you to complete. Please find a few pointers below:

Your solution must:

  • Expose a user model. It's reasonable to expect that a user has (at least) the following attributes:
    • id - a unique user id
    • email - a user's email address
    • givenName - in the UK this is the user's first name
    • familyName - in the UK this is the user's last name
    • created - the date and time the user was added
  • Have the ability to persist user information for at least the lifetime of the test.
  • Expose functionality to create, read, update and delete (CRUD) users.
  • Be easily consumable by a plain HTTP client (e.g. cURL or Postman) or, if using a transport other than HTTP, be trivial to write a client application to consume it.

Although the main outcomes of the task are listed above, if you feel like you want to go that extra mile and show us what you're capable of, here is a list of potential enhancements that we have come up with:

  • Provide a way for your API to be easily tested/consumed (e.g. a custom front-end, a Postman collection or a Swagger/OpenAPI API specification).
  • Use of an industry standard data exchange format.
  • Sanitisation checks of inputs.
  • Implementation of test coverage.