-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b741640
commit bc86d86
Showing
1 changed file
with
24 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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. |