{"id":21289203,"url":"https://github.com/hexagontk/todo_backend","last_synced_at":"2025-07-11T14:31:54.881Z","repository":{"id":90398847,"uuid":"114486823","full_name":"hexagontk/todo_backend","owner":"hexagontk","description":"Sample application for the Todo-Backend project (http://www.todobackend.com) which implements TodoMVC (http://todomvc.com) backends.","archived":false,"fork":false,"pushed_at":"2024-10-03T15:38:56.000Z","size":436,"stargazers_count":8,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-09T11:32:10.006Z","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,"zenodo":null},"funding":{"github":["hexagontk"]}},"created_at":"2017-12-16T19:59:11.000Z","updated_at":"2024-06-28T20:55:10.000Z","dependencies_parsed_at":"2024-08-11T14:02:44.937Z","dependency_job_id":"f2c1580c-9fd2-4c22-9325-e3f6cb1b5b4e","html_url":"https://github.com/hexagontk/todo_backend","commit_stats":null,"previous_names":["hexagontk/todo_backend","hexagonkt/todo_backend"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hexagontk/todo_backend","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagontk%2Ftodo_backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagontk%2Ftodo_backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagontk%2Ftodo_backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagontk%2Ftodo_backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hexagontk","download_url":"https://codeload.github.com/hexagontk/todo_backend/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hexagontk%2Ftodo_backend/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264833277,"owners_count":23670617,"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:35:50.695Z","updated_at":"2025-07-11T14:31:54.605Z","avatar_url":"https://github.com/hexagontk.png","language":"Kotlin","funding_links":["https://github.com/sponsors/hexagontk"],"categories":[],"sub_categories":[],"readme":"\n# Todo\nTodo backend example for [Todo Backend](http://www.todobackend.com/index.html) using Hexagon.\n\nThe spec is:\n\nGET `/tasks/{id}`\n\nResponse:\n```\n{\n    \"url\": \"/tasks/{id}\",\n    \"title\": string,\n    \"order\": int?,\n    \"completed\": boolean\n}\n```\n\nGET `/tasks`\n\nResponse:\n```\n[\n    {\n        \"url\": \"/tasks/{id}\",\n        \"title\": string,\n        \"order\": int?,\n        \"completed\": boolean\n    },\n    ...\n}\n```\n\nPOST `/tasks`\n\nRequest:\n```\n{\n  \"title\": string,\n  \"order\": int?\n}\n```\n\nResponse:\n```\n{\n    \"url\": \"/tasks/{id}\",\n    \"title\": string\n    \"order\": int?,\n    \"completed\": boolean\n}\n```\n\nPATCH `/tasks/{id}`\n\nRequest:\n```\n{\n  \"title\": string?,\n  \"order\": int?\n  \"completed\": boolean?\n}\n```\n\nResponse:\n```\n{\n    \"url\": \"/tasks/{id}\",\n    \"title\": string\n    \"order\": int?,\n    \"completed\": boolean\n}\n```\nDELETE `/tasks/{id}`\n\nResponse: 200 OK\n\nDELETE `/tasks`\n\nResponse: 200 OK\n\n### Build\n```bash\n./gradlew build jpackage\ndocker compose --profile local build\n# Or\nREGISTRY=\"k3d.localhost:5000/\" docker compose --profile local build\n```\n\n### Deploy\nSet the environment variable `SERVICE_URL` to whatever your host is\nto generate the correct url for tasks.\n\nSet `MONGODB_URL` to the url for your MongoDb database.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexagontk%2Ftodo_backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhexagontk%2Ftodo_backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexagontk%2Ftodo_backend/lists"}