{"id":23718556,"url":"https://github.com/hvu-dev/go-todo","last_synced_at":"2026-02-10T23:30:16.846Z","repository":{"id":250436121,"uuid":"799393772","full_name":"hvu-dev/go-todo","owner":"hvu-dev","description":"Yet another Todo API","archived":false,"fork":false,"pushed_at":"2024-07-27T10:22:42.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-02-08T07:56:40.035Z","etag":null,"topics":[],"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/hvu-dev.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":"2024-05-12T02:16:30.000Z","updated_at":"2024-07-27T10:27:56.000Z","dependencies_parsed_at":"2024-07-27T12:58:01.851Z","dependency_job_id":null,"html_url":"https://github.com/hvu-dev/go-todo","commit_stats":null,"previous_names":["huyvq18411c/go-todo","hvu-dev/go-todo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvu-dev%2Fgo-todo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvu-dev%2Fgo-todo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvu-dev%2Fgo-todo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hvu-dev%2Fgo-todo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hvu-dev","download_url":"https://codeload.github.com/hvu-dev/go-todo/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239808462,"owners_count":19700442,"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-12-30T21:23:26.295Z","updated_at":"2026-02-10T23:30:16.791Z","avatar_url":"https://github.com/hvu-dev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Todo APIs with Golang\nA pet project to get used to Go (v1.22.2)\n\n## Dependencies\n- GORM: it was initially added when I have no knowledge about how to access database with Go and it is the first result pop up when I search for Go ORM. After implementing it, I feel like we can Go with built-in package and install the target driver instead, which will help us to swap to any database that we want. In the scope of this ticket, I'm using SQLite. \n\nThere are a controversy around using \"ORM\" (in any languages), and Go has `sqlc` which is also very popular, however since this is a learning project, I just want to go through it as fast as possible. \n\n## Reflection model \n- Go reflection model is cool, comparing to how we can achieve the same thing in Python (which I mainly work with). It's very interesting how it can keep the data still strongly type, but still map to the correct field at runtime.\n\n## Built-in template language\n- Though it's not a complete one, but still nice to see Go provides me an option. Although I'm not using it in this project, I gave it a few tries.\n\n## HTTP package\n- I love `net/http` package, it's easy to use, nice features, even better with new versions. I feel like, I don't even need 3rd party framework to bulid such a simple API like this. Still, I haven't exposed to Go enough to feel all the possible pains. \n\n## Testing\n- I wrote a test (which is not related to API's functionalities) but still see a lot of similarities between them and Python/C#/JavaScript. I haven't had many chances to work with procedure language before, therefore I'm not sure if this a standard way to write them.\n\n## Modulize Go project\n- I'm still not so sure about how can I organize a Go project, so I just went for the one that I'm most comfortable with. I previewed a few projects, and to be honest, it's a little bit overwhelmed for me and for such a small project like this.\n\nIn conclusion, I love Go.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhvu-dev%2Fgo-todo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhvu-dev%2Fgo-todo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhvu-dev%2Fgo-todo/lists"}