{"id":20983659,"url":"https://github.com/panilya/test-assignment","last_synced_at":"2025-10-04T06:31:58.577Z","repository":{"id":241482576,"uuid":"616206010","full_name":"panilya/test-assignment","owner":"panilya","description":"Test assignment in Kotlin","archived":false,"fork":false,"pushed_at":"2023-03-21T05:31:32.000Z","size":77,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T07:09:36.951Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/panilya.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":"2023-03-19T22:39:32.000Z","updated_at":"2023-03-22T12:06:53.000Z","dependencies_parsed_at":"2024-05-28T17:42:01.335Z","dependency_job_id":"be457834-647d-420d-8a43-c07de2ce9086","html_url":"https://github.com/panilya/test-assignment","commit_stats":null,"previous_names":["panilya/test-assignment"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panilya%2Ftest-assignment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panilya%2Ftest-assignment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panilya%2Ftest-assignment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/panilya%2Ftest-assignment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/panilya","download_url":"https://codeload.github.com/panilya/test-assignment/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243392281,"owners_count":20283559,"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":"2024-11-19T05:49:42.587Z","updated_at":"2025-10-04T06:31:58.515Z","avatar_url":"https://github.com/panilya.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Test Assignment for the position of Junior Backend Developer at UpUp\n\n## Task\n\nWe need a Spring Boot + Kotlin app with an API to receive incoming calls from Android apps. Use Swagger for autogenerated API documentation.\nThe app will collect and store customers' data. It should allow to receive and process JSON requests with the following params:\nFirst name\nLast name\nPhone number\nEmail\nApp\nDate (default = now)\nThe new app should validate phone numbers (length, format) and emails. Valid contacts should be added to our database and checked for a duplicate.\nIf the new contact has invalid data, the app should send an error code and message with an error description. For example, you should ask senders to correct the phone number and email. We also need an API to search for collected customers by phone numbers or emails.\n\n## Steps to run:\n1) Clone the repository\n2) Run the command `docker run -p 5432:5432 -d --name callhandler -e POSTGRES_USER=callhandler -e POSTGRES_PASSWORD=callhandler -e POSTGRES_DB=callhandler postgres` to start the database\n3) Run the Spring Boot app\n4) Go to http://localhost:8080/swagger-ui/index.html to see the API documentation","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpanilya%2Ftest-assignment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpanilya%2Ftest-assignment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpanilya%2Ftest-assignment/lists"}