{"id":21289211,"url":"https://github.com/hexagontk/contact_application","last_synced_at":"2025-03-15T15:44:50.812Z","repository":{"id":90398832,"uuid":"212264102","full_name":"hexagontk/contact_application","owner":"hexagontk","description":"Sample backend application that provides a simple REST API for managing contacts.","archived":false,"fork":false,"pushed_at":"2024-04-02T16:24:35.000Z","size":242,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-22T05:43:05.621Z","etag":null,"topics":["example","gradle","hacktoberfest","jvm","kotlin"],"latest_commit_sha":null,"homepage":"https://hexagontk.com","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/hexagontk.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},"funding":{"github":["hexagonkt"]}},"created_at":"2019-10-02T05:44:05.000Z","updated_at":"2024-04-01T19:26:23.000Z","dependencies_parsed_at":"2024-03-21T17:59:36.644Z","dependency_job_id":"cdb3200e-2857-4dda-bd1f-16368dd3237e","html_url":"https://github.com/hexagontk/contact_application","commit_stats":null,"previous_names":["hexagontk/contact_application","hexagonkt/contact_application"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagontk%2Fcontact_application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagontk%2Fcontact_application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagontk%2Fcontact_application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagontk%2Fcontact_application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hexagontk","download_url":"https://codeload.github.com/hexagontk/contact_application/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243754008,"owners_count":20342537,"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":["example","gradle","hacktoberfest","jvm","kotlin"],"created_at":"2024-11-21T12:36:24.171Z","updated_at":"2025-03-15T15:44:50.786Z","avatar_url":"https://github.com/hexagontk.png","language":"Kotlin","readme":"\n# Contact Application\n\nThis is a sample backend application, written using [Hexagon](https://hexagontk.com) toolkit. It provides simple REST API for managing contacts. Contacts are managed on a per-user basis. So the contacts operations are available after user login.\n\n## Usage\n\nThis project uses gradle as it's build tool. The `test` task requires mongodb instance to run on `27018 (non-default)` port. You can run this container in docker before running tests, using this command:\n\n```\ndocker run --name contacts-db --rm -d -p 27018:27017 mongo:4.2.0\n```\n\nOr you can skip tests with `-x test` arguments to corresponding build command.\n\nUsefull commands:\n* Build: `./gradlew build`\n* Rebuild: `./gradlew clean build`\n* Assemble: `./gradlew installDist`\n* Run: `./gradlew run`\n* Test: `./gradlew test`\n\n## Interaction\n\nAs this project only exposes REST API, you need some external tool to interact with it. You can use `curl`, `HTTPie`, `Postman`, etc...\n\n## Endpoints\n\nRegister user:\n```\nPOST `/user`\n```\n\nLogin user:\n```\nPOST `/user/login`\n```\n\nDelete user:\n```\nDELETE `/user`\n```\n\nList contacts:\n```\nGET `/contacts`\n```\n\nCreate contact:\n```\nPOST `/contacts`\n```\n\nGet contact:\n```\nGET `/contacts/{contactId}`\n```\n\nUpdate contact:\n```\nPUT `/contacts/{contactId}`\n```\n\nDelete contact:\n```\nDELETE `/contacts/{contactId}`\n```\n","funding_links":["https://github.com/sponsors/hexagonkt"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexagontk%2Fcontact_application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhexagontk%2Fcontact_application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexagontk%2Fcontact_application/lists"}