0% found this document useful (0 votes)
29 views

Orenda Web Developer Recruitment (Laravel) - Preliminary Test 2021

The document provides instructions for a recruitment test to develop a set of API endpoints for managing user and item data using Laravel. Candidates are asked to create a backend API with four endpoints to perform create, add, remove, and listing functions. The API code must be hosted on GitHub and contain a README to explain how to run it locally. Submissions will be assessed based on code quality criteria like readability, structure, validation and adherence to the specified API specifications. The API will also undergo automated testing against the requirements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Orenda Web Developer Recruitment (Laravel) - Preliminary Test 2021

The document provides instructions for a recruitment test to develop a set of API endpoints for managing user and item data using Laravel. Candidates are asked to create a backend API with four endpoints to perform create, add, remove, and listing functions. The API code must be hosted on GitHub and contain a README to explain how to run it locally. Submissions will be assessed based on code quality criteria like readability, structure, validation and adherence to the specified API specifications. The API will also undergo automated testing against the requirements.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 3

Web Developer Recruitment – Preliminary Test 2021

(Laravel)

Your Task
1. Develop a set of API endpoints, listed under User Stories below
a. Your code must be hosted on Github, or any other similar services that
are publicly accessible
2. Your code should contain a README.md that includes the instruction for
running local instance of your server; we need to be able to run and test
your solution locally
3. Please use Laravel/Lumen for the backend code
4. Please use PostgreSql as the database
5. Please use an ORM or query builder

Assessment Criteria
1. We will assess your submission based on the following:
a. Readability and code cleanliness
b. Code structure/design
c. Normalised database design
d. Input validation
2. Your API will be subjected to automated test tools, so please follow the
specs closely

Page 1 of 2
User Stories
1. As an Admin, I should be able to create user(s) so that I can added product to
koli

 Endpoint: POST /api/register


 Headers: Content-type: application/json
 Success response status: 204 No Content

Example Request
{
Users: [“[email protected]”,”[email protected]”]
}

2. As an Admin, I should be able to put in item(s) to koli under user so that they
know their existing item

 Endpoint: POST /api/putin


 Headers: Content-type: application/json
 Success response status: 204 No Content

Example Request
{
user: “[email protected]”,
koli: “Power Tools”,
item: [{name: “Impact Wrench”, qty: “2 unit”}, { name: “Electric Screwdriver”,
qty: “10 unit”}, { name: “Rotary Tool”, qty: “4 unit” }, { name: “Jigsaw”, qty:
“34 unit” } ]
}

3. As an Admin, I should be able to remove item(s) from user and koli so that their
list are updated

 Endpoint: POST /api/takeout


 Headers: Content-type: application/json
 Success response status: 204 No Content

Example Request
{
user: “[email protected]”,
koli: “Power Tools”,
item: [{ name: “Rotary Tool”, qty: “10 unit” }, { name: “Jigsaw”, qty: “7
unit” }]
}

4. As an Admin, I should be able to list all common koli of 2 users (e.g. if 2


users has “Power Tools” and “Cable” as common koli, I should be able to see it
in a list)

 Endpoint: GET /api/koli/common


 Headers: Content-type: application/json
 Success response status: 200

Example Request
{
user: [“[email protected]”, “[email protected]”]
}

Example Response
{
koli: { “Power Tools”, item: [{ name: “Rotary Tool”, qty: “10 unit” }, { name:
“Jigsaw”, qty: “7 unit” }]},
“koli”: {“Cable”, item: [{name: “Lotusku”, qty: “5 roll”]
}
__Thank You__

Page 2 of 2

You might also like