{"id":28200970,"url":"https://github.com/payu/junior-be-home-assignment","last_synced_at":"2025-07-08T04:38:15.171Z","repository":{"id":278390324,"uuid":"935436847","full_name":"PayU/junior-be-home-assignment","owner":"PayU","description":"PayU recruiting home assignment","archived":false,"fork":false,"pushed_at":"2025-02-19T15:47:08.000Z","size":4509,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-05-16T22:14:04.641Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PayU.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-19T12:51:10.000Z","updated_at":"2025-02-19T13:47:03.000Z","dependencies_parsed_at":"2025-02-19T14:47:06.366Z","dependency_job_id":null,"html_url":"https://github.com/PayU/junior-be-home-assignment","commit_stats":null,"previous_names":["payu/junior-be-home-assignment"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PayU/junior-be-home-assignment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PayU%2Fjunior-be-home-assignment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PayU%2Fjunior-be-home-assignment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PayU%2Fjunior-be-home-assignment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PayU%2Fjunior-be-home-assignment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PayU","download_url":"https://codeload.github.com/PayU/junior-be-home-assignment/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PayU%2Fjunior-be-home-assignment/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259519175,"owners_count":22870325,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-05-16T22:14:45.676Z","updated_at":"2025-06-12T18:31:46.853Z","avatar_url":"https://github.com/PayU.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Guidelines\n\n## Requirements\nUse the file `data.csv` as the data source.\n\nImplement the following APIs, using memory only - no external DB.\n\nYou can either take the `data.csv` file and create a new project in node.js, or use the attached boilerplate and implement only the logic part in model/users.js.\n\n **Keep efficiency in mind, the user base (data.csv) can gr ow exponentially.\nSearching the data linearly is not a good enough solution.**\n\n---\n```\nGet user by Id\n    - GET /users/a2ee2667-c2dd-52a7-b9d8-1f31c3ca4eae\n    - Should return the requested user details \n\nExample required response:\n{\n    \"id\": \"ae8da2bf-69f6-5f40-a5e6-2f1fedb5cea6\",\n    \"name\": \"Ricardo Wise\",\n    \"dob\": \"13/1/1973\",\n    \"country\": \"AE\"\n}\n\nGet users list by country\n    - GET /users?country=US\n    - Should return a list of all users from requested country\n\nGet users list by age\n    - GET /users?age=30\n    - Should return all users which are of age 30 at the time of the request\n\nGet users list by name\n    - GET /users?name=Susan\n    - Should return all users which name matches the requested name\n    - Matching names rules:\n        - Full match - for input \"Susan James\" should return all users with name \"Susan James\".\n        - Full first name or last name - for input \"Susan\" should return all users with that first or last name.\n        - Partial match (minimum 3 chars) - for input \"Sus\", should return all users with first or last name that begin with \"Sus\".\n        - Should support non case sensitive search (Searching for \"susan\" should return users with name \"Susan\").\n\nExample required response for list of users:\n[    \n    {\n        \"id\": \"ae8da2bf-69f6-5f40-a5e6-2f1fedb5cea6\",\n        \"name\": \"Ricardo Wise\",\n        \"dob\": \"13/1/1973\",\n        \"country\": \"AE\"\n    }\n]\n\nDelete user by id\n    - DELETE /users/a2ee2667-c2dd-52a7-b9d8-1f31c3ca4eae\n    - Should delete the user, after the call the user will not be returned by any of the previous APIs.\n```\n\n---\n\n## Using boilerplate\nIn order to use this project as a template, please implement the missing methods in the `model/users.js` file.\n\n### Install node\nFollow the instructions here:\nhttps://nodejs.org/en/download/\n\n### Start up the service\n```\nnpm install\nnode index.js\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpayu%2Fjunior-be-home-assignment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpayu%2Fjunior-be-home-assignment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpayu%2Fjunior-be-home-assignment/lists"}