Skip to content

Commit

Permalink
Create Task.md
Browse files Browse the repository at this point in the history
  • Loading branch information
hx-marcusmota authored Oct 17, 2019
1 parent b741640 commit bc86d86
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions Task.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# 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](https://www.getpostman.com/) collection or a [Swagger/OpenAPI](https://swagger.io/) API specification).
- Use of an industry standard data exchange format.
- Sanitisation checks of inputs.
- Implementation of test coverage.

0 comments on commit bc86d86

Please sign in to comment.