At Sahaj, tech consultants operate at the intersection between engineering and art. Simply put, they are artisans who take on complex engineering problems in the software industry across a wide spectrum of domains. Their work is deeply rooted in first principles thinking - asking fundamental questions to dissect and understand a problem which eventually leads to one-of-a-kind solutions, each as distinct as a fingerprint.
Through NaN(O), a hackathon driven by Sahaj across multiple colleges in India, they want to instill a culture of applying first principles thinking to a problem statement.
We need a system to be able to manage data for employees. Requests will be accepted over HTTP (API contract). No databases/libraries can be used to store/maintain data.
- Your repository needs to have a
Dockerfile
that starts your HTTP web app - Your HTTP app need to expose APIs (API contract) on port 8080
- No existing databases, libraries and services can be used to store the data
- Application needs to persist data across restarts
- No limitation on the programming language
- Do not touch the GitHub actions code. It is used to test your code automatically and score it. Any modifications will lead to immediate disqualification.
- Maximum time a single request can take is 10 seconds
{
id: string,
name: string,
city: string
}
Checks whether the service is available.
- Code: 200
- Content:
Hello world!
Creates a new Employee and returns the employeeId
Content-Type: application/json
{
name: string,
city: string
}
- Status code: 201
- Content:
{ "employeeId": "<employee_id>" }
(Note: Employee ID is astring
)
Returns the specified employee.
id=[string]
Required
- Status code: 200
- Content:
{ <employee_object> }
- Status code: 404
- Content:
{ message : "Employee with <employee_id> was not found" }
Returns list of all employees.
- Status code: 200
- Content:
[{ <employee_object> }]
Updates fields of the existing employee and returns the new object.
id=[string]
Required
Content-Type: application/json
{
name: string,
city: string
}
- Code: 201
- Content:
{ <employee_object> }
- Code: 404
- Content:
{ message : "Employee with <employee_id> was not found" }
Deletes existing employee record.
id=[string]
Required
- Status code: 200
- Content:
{ <employee_object> }
- Status code: 404
- Content:
{ message : "Employee with <employee_id> was not found" }
Check rules and scoring pages for details. When in doubt, ask the organizers and we will add clarifications to the page.