{"id":32465289,"url":"https://github.com/aliftech/todo-api","last_synced_at":"2025-10-26T13:54:31.452Z","repository":{"id":238058407,"uuid":"794386833","full_name":"aliftech/todo-api","owner":"aliftech","description":"This project is created as a learning case to create a REST-API using go programmming language. This project is contained about a simple CRUD API to create, update, delete, and show a task.","archived":false,"fork":false,"pushed_at":"2024-05-04T04:00:50.000Z","size":11780,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-05-21T05:01:04.991Z","etag":null,"topics":["example","go","golang","rest-api"],"latest_commit_sha":null,"homepage":"https://github.com/aliftech/todo-api","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/aliftech.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-01T03:20:22.000Z","updated_at":"2024-06-19T09:08:21.060Z","dependencies_parsed_at":null,"dependency_job_id":"dd0c8aa6-2ce8-434f-93c4-b6f6c5631a04","html_url":"https://github.com/aliftech/todo-api","commit_stats":null,"previous_names":["aliftech/todo-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/aliftech/todo-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliftech%2Ftodo-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliftech%2Ftodo-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliftech%2Ftodo-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliftech%2Ftodo-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aliftech","download_url":"https://codeload.github.com/aliftech/todo-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aliftech%2Ftodo-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281114850,"owners_count":26446042,"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","status":"online","status_checked_at":"2025-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","go","golang","rest-api"],"created_at":"2025-10-26T13:54:29.422Z","updated_at":"2025-10-26T13:54:31.447Z","avatar_url":"https://github.com/aliftech.png","language":"Go","readme":"# Go TODO API\n\nThe todo-api project is a simple todoapp REST-API build using go programming language, gin - a go backend framework, GORM - a go database ORM, and docker. The aim of this project creation is for helping myself in order to understanding about go programming and it's implementation to backend system. You can also visit my frontend repository dedicated for complementing this project.\n\n[TodoApp Repository](https://github.com/aliftech/todoapp)\n\n## Instalation\n\n### Pre-requisites\n\nBefore installing this project, you should know about the project requirements. Here are the requirements that you need to prepared:\n\n1. Go Programming Laguage\n2. Knowledge about Go.\n3. Knowledge about REST-API\n\n### Dependencies\n\nThis project is build using some third parties or dependencies. Here are the required dependencies:\n\n1. Gin (https://gin-gonic.com/)\n2. Gorm (https://gorm.io/)\n3. Go dotenv (https://github.com/joho/godotenv)\n4. CompileDaemon (https://github.com/githubnemo/CompileDaemon)\n5. MySQL driver (https://gorm.io/docs/connecting_to_the_database.html)\n\n### Database Migration\n\nIn this project, we only use a single migration, because the table is very simple - only consists of one database table named tasks. Before we step to the migration, you have to make a database called todo in your XAMPP.\n\nAfter that, you can run the database migration by the following command:\n\n```bash\ngo run migrations/migrate.task.go\n```\n\n### Running The Project\n\nTo run the project, you can use a usual go command:\n\n```bash\ngo run main.go\n```\n\nBut, in this project we are not going to use it. Instead of using `go run` command, we will using CompileDaemon to run our application. Here is the command to run our application using CompileDaemon:\n\n```bash\nCompileDaemon -command=\"./todo-api\"\n```\n\n### Running with Docker\n\n```bash\ndocker compose up\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliftech%2Ftodo-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faliftech%2Ftodo-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faliftech%2Ftodo-api/lists"}