{"id":25440809,"url":"https://github.com/akira-saneyoshi/grpc-task-app","last_synced_at":"2026-04-15T16:02:14.153Z","repository":{"id":276987059,"uuid":"930873978","full_name":"akira-saneyoshi/grpc-task-app","owner":"akira-saneyoshi","description":null,"archived":false,"fork":false,"pushed_at":"2025-02-18T13:59:44.000Z","size":70,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-18T14:48:10.837Z","etag":null,"topics":["buf","connect-go","docker","golang","grpc","mysql8"],"latest_commit_sha":null,"homepage":"","language":"Go","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/akira-saneyoshi.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-11T10:58:56.000Z","updated_at":"2025-02-18T13:59:45.000Z","dependencies_parsed_at":"2025-02-11T14:41:49.081Z","dependency_job_id":"290c4078-f28a-4fbe-8dd8-7363e1b0519a","html_url":"https://github.com/akira-saneyoshi/grpc-task-app","commit_stats":null,"previous_names":["akira-saneyoshi/grpc-task-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akira-saneyoshi%2Fgrpc-task-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akira-saneyoshi%2Fgrpc-task-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akira-saneyoshi%2Fgrpc-task-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/akira-saneyoshi%2Fgrpc-task-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/akira-saneyoshi","download_url":"https://codeload.github.com/akira-saneyoshi/grpc-task-app/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254367632,"owners_count":22059546,"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":["buf","connect-go","docker","golang","grpc","mysql8"],"created_at":"2025-02-17T12:18:22.848Z","updated_at":"2026-04-15T16:02:09.112Z","avatar_url":"https://github.com/akira-saneyoshi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# grpc-task-app\n\n```zsh\n# buf Linter と Formatter を実行する\nbuf lint\nbuf format -w\n```\n\n```zsh\nbuf generate\n```\n\n```zsh\nsqlc generate\n```\n\n```zsh\nsudo apt-get update\n\nsudo apt-get install openssl\n\nopenssl genrsa -out private_key.pem 2048\n\nchmod 400 private_key.pem\n\nopenssl ecparam -name prime256v1 -genkey -noout -out private_key.pem\n```\n\n```zsh\ncurl --header \"Content-Type: application/json\" \\\n--data '{\"email\": \"testuser1@example.com\", \"password\": \"pass\"}' \\\nhttp://localhost:8080/proto.auth.v1.AuthService/Login\n\ngrpcurl -plaintext \\\n  -H \"Authorization: Bearer ★tokenをセット★\" \\\n  -d '{\"title\":\"食料品\", \"description\":\"食料品の説明\", \"status\":\"pending\", \"due_date\":\"\"}' \\\n  localhost:8080 proto.task.v1.TaskService.CreateTask\n\ngrpcurl -plaintext \\\n  -H \"Authorization: Bearer ★tokenをセット★\" \\\n  -d '{\"title\":\"食料品-リンゴ\", \"description\":\"食料品の説明\", \"status\":\"pending\", \"due_date\":\"2025-03-10T00:00:00Z\"}' \\\n  localhost:8080 proto.task.v1.TaskService.CreateTask\n\ngrpcurl -plaintext \\\n  -H \"Authorization: Bearer eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ.FGe98EeAg3XQlqC0GuOciCw1bTAAZLinddv_TL71WSlXS1o0eK1xUEXkfBCJ1NQowhxm_PS15EEResuSwD6MeV1V7sfwIj-h8Bvvc-M6xcUy4LVC0l2kZKz2Iqa4uiPwF4nhCpKKmyc9ELeyii0-geGmIhMMPuYES43qu4I-AcH2hcDGlMkbNTyen7R5CTv_0kjx1NEtPwJFIPIiLmc3nhFfsTCMz7t1QDS5hjJ3_LzVqbVGnZVdsYFkQJ0vRzOG3be3Jn03piS9gmzxNMPDX40IyEG7u1RK3nlnnrz4c220UJ3BNUXjP8FY4FhgN4CNAnv81x9VXmwgh-dk740xew._ZghiRxvwFSAcYzp.-mrL5eJ4AtM1XPJ-JXWl3iPsUW5bLiGQ_2esKj83mOuu4vwj0YhdXAlJSUslp06IdTIaV1jJ2lf9IwBszrrYl6XwPcHyIYXASNnbXdBuoiTjuMHd0CBYQ7xeD4V6kiELaA6XeXSj-poI5mrpZqKuFPEjM4RloteMP8Rr4KrKPGzv_TMKFA-CqeltzIZHJK0h5mO2D0_sSusUdRUEN0689LNs7ITfNxUt_HCMIiV3a1qjEtxTB7ex2bo2yMTcpCH6Ijaq7LnvN2tvjeo98FUqSBMTCxOd0l-xIYYRY0p1HVlAGcusbxzxanpFaVKze4wITEaF-7YziDimq9QpwT_OH3_gRGb2Cm3sZr0gGwAEylgLwHjAllud3Zh2Dkwpt3I4jUbjvhhUBeyKEI3XTL7wNfnT2v9qw6C44WKF4fD5wytHiKwtFTxiJiV04EKoBjdp5MM01fGnJOdnkulQsiLxgaHpTe9uS8B-1ndwIyuNAMMMXdQAndrauZUO4AW8d2JSC86ZIZh6DZXoly7OLw4D9av3VJv11vYfPSTO_vByYBsMovapiRh6mVqJzcXHOB68oHlTvcT0DFf2yCNPlL6rtBBqZJeLS3cCj-uvPWeJrtkrkowgveZjb3qhyA.AlloNCGBZy1fcQ1LbcYN-A\" \\\n  localhost:8080 proto.task.v1.TaskService.GetTaskList\n```\n\n```zsh\n# 実行例\n/opt/grpc_task_backend# grpcurl -plaintext \\\n\u003e   -H \"Authorization: Bearer eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00ifQ.FGe98EeAg3XQlqC0GuOciCw1bTAAZLinddv_TL71WSlXS1o0eK1xUEXkfBC\nJ1NQowhxm_PS15EEResuSwD6MeV1V7sfwIj-h8Bvvc-M6xcUy4LVC0l2kZKz2Iqa4uiPwF4nhCpKKmyc9ELeyii0-geGmIhMMPuYES43qu4I-AcH2hcDGlMkbNTyen7R5CTv_0kj\nx1NEtPwJFIPIiLmc3nhFfsTCMz7t1QDS5hjJ3_LzVqbVGnZVdsYFkQJ0vRzOG3be3Jn03piS9gmzxNMPDX40IyEG7u1RK3nlnnrz4c220UJ3BNUXjP8FY4FhgN4CNAnv81x9VXmw\ngh-dk740xew._ZghiRxvwFSAcYzp.-mrL5eJ4AtM1XPJ-JXWl3iPsUW5bLiGQ_2esKj83mOuu4vwj0YhdXAlJSUslp06IdTIaV1jJ2lf9IwBszrrYl6XwPcHyIYXASNnbXdBuoiT\njuMHd0CBYQ7xeD4V6kiELaA6XeXSj-poI5mrpZqKuFPEjM4RloteMP8Rr4KrKPGzv_TMKFA-CqeltzIZHJK0h5mO2D0_sSusUdRUEN0689LNs7ITfNxUt_HCMIiV3a1qjEtxTB7e\nx2bo2yMTcpCH6Ijaq7LnvN2tvjeo98FUqSBMTCxOd0l-xIYYRY0p1HVlAGcusbxzxanpFaVKze4wITEaF-7YziDimq9QpwT_OH3_gRGb2Cm3sZr0gGwAEylgLwHjAllud3Zh2Dkw\npt3I4jUbjvhhUBeyKEI3XTL7wNfnT2v9qw6C44WKF4fD5wytHiKwtFTxiJiV04EKoBjdp5MM01fGnJOdnkulQsiLxgaHpTe9uS8B-1ndwIyuNAMMMXdQAndrauZUO4AW8d2JSC86\nZIZh6DZXoly7OLw4D9av3VJv11vYfPSTO_vByYBsMovapiRh6mVqJzcXHOB68oHlTvcT0DFf2yCNPlL6rtBBqZJeLS3cCj-uvPWeJrtkrkowgveZjb3qhyA.AlloNCGBZy1fcQ1L\nbcYN-A\" \\\n\u003e   localhost:8080 proto.task.v1.TaskService.GetTaskList\n{\n  \"tasks\": [\n    {\n      \"id\": \"task1\",\n      \"userId\": \"user1\",\n      \"title\": \"タスク 1\",\n      \"description\": \"Description for Task 1\",\n      \"status\": \"TASK_STATUS_IN_PROGRESS\",\n      \"dueDate\": \"2025-03-10T00:00:00Z\",\n      \"createdAt\": \"2025-02-17T22:04:04Z\",\n      \"updatedAt\": \"2025-02-19T23:29:43Z\"\n    },\n    {\n      \"id\": \"task4\",\n      \"userId\": \"user1\",\n      \"title\": \"タスク 4\",\n      \"description\": \"Description for Task4\",\n      \"status\": \"TASK_STATUS_IN_PROGRESS\",\n      \"dueDate\": \"2025-04-01T00:00:00Z\",\n      \"createdAt\": \"2025-02-17T22:04:04Z\",\n      \"updatedAt\": \"2025-02-19T23:29:43Z\"\n    },\n    {\n      \"id\": \"218cc6ad-884d-4a9e-93bd-84b9a12ca428\",\n      \"userId\": \"user1\",\n      \"title\": \"食料品\",\n      \"description\": \"食料品の説明\",\n      \"status\": \"TASK_STATUS_IN_PROGRESS\",\n      \"createdAt\": \"2025-02-19T23:14:04Z\",\n      \"updatedAt\": \"2025-02-19T23:29:43Z\"\n    },\n    {\n      \"id\": \"de4305f6-ea83-46e1-b8e5-565e2c797534\",\n      \"userId\": \"user1\",\n      \"title\": \"食料品-かぼちゃ\",\n      \"description\": \"食料品の説明\",\n      \"status\": \"TASK_STATUS_IN_PROGRESS\",\n      \"createdAt\": \"2025-02-19T23:14:46Z\",\n      \"updatedAt\": \"2025-02-19T23:29:43Z\"\n    },\n    {\n      \"id\": \"d182a7c3-1785-4d2f-8523-71307ac22a84\",\n      \"userId\": \"user1\",\n      \"title\": \"食料品-リンゴ\",\n      \"description\": \"食料品の説明\",\n      \"status\": \"TASK_STATUS_IN_PROGRESS\",\n      \"dueDate\": \"2025-03-10T00:00:00Z\",\n      \"createdAt\": \"2025-02-19T23:17:15Z\",\n      \"updatedAt\": \"2025-02-19T23:29:43Z\"\n    },\n    {\n      \"id\": \"task2\",\n      \"userId\": \"user1\",\n      \"title\": \"タスク 2\",\n      \"description\": \"Description for Task 2\",\n      \"status\": \"TASK_STATUS_IN_PROGRESS\",\n      \"dueDate\": \"2025-03-15T00:00:00Z\",\n      \"createdAt\": \"2025-02-17T22:04:04Z\",\n      \"updatedAt\": \"2025-02-17T22:04:04Z\"\n    }\n  ]\n}\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakira-saneyoshi%2Fgrpc-task-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakira-saneyoshi%2Fgrpc-task-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakira-saneyoshi%2Fgrpc-task-app/lists"}