{"id":15882121,"url":"https://github.com/wendelladriel/komeet","last_synced_at":"2025-07-31T18:31:38.077Z","repository":{"id":223537281,"uuid":"760671260","full_name":"WendellAdriel/komeet","owner":"WendellAdriel","description":"API template using Go and Gin","archived":false,"fork":false,"pushed_at":"2024-02-26T10:21:04.000Z","size":101,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-28T00:12:39.308Z","etag":null,"topics":["api","gin","gin-framework","gin-gonic","go","golang","template"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/WendellAdriel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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}},"created_at":"2024-02-20T18:10:22.000Z","updated_at":"2024-07-03T04:53:07.000Z","dependencies_parsed_at":"2024-02-26T11:45:43.776Z","dependency_job_id":null,"html_url":"https://github.com/WendellAdriel/komeet","commit_stats":null,"previous_names":["wendelladriel/komeet"],"tags_count":1,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fkomeet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fkomeet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fkomeet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WendellAdriel%2Fkomeet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WendellAdriel","download_url":"https://codeload.github.com/WendellAdriel/komeet/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243864629,"owners_count":20360356,"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":["api","gin","gin-framework","gin-gonic","go","golang","template"],"created_at":"2024-10-06T04:01:37.147Z","updated_at":"2025-03-17T13:31:17.463Z","avatar_url":"https://github.com/WendellAdriel.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003ch1\u003eKomeet ☄️\u003c/h1\u003e\n    \u003cp\u003e\u003cstrong\u003eAPI Template built with Go and Gin\u003c/strong\u003e\u003c/p\u003e\n\u003c/div\u003e\n\n**Komeet** is a simple, but powerful API template to start your APIs with **Go**.\nIt uses **Gin** and **Cobra** as the base dependencies for creating a lightweight and\nfast API. It comes with a lot of things out-of-the-box, so you can focus on your API\ninstead of worrying on how to build the base architecture for it.\n\n## Features\n\n- Login endpoint using JWT\n- Logout endpoint to invalidate token\n- Logged User Profile endpoint\n- Auth Middleware\n- Clean Architecture\n- API versioning\n- Mapping Requests to DTOs\n- Create User command to help on development\n- Configuration and Secrets using JSON format\n- File logging with file rotation (Zerolog + Lumberjack)\n- Models using GORM with DB migration configured\n- Standard API responses\n- Fallback route and error recovery configured\n\n## Using the Template\n\nThere are two ways of using this template:\n\n### GitHub Template\n\nClick the `Use this template` button in the GitHub repository page.\n\n### Git Clone\n\n```bash\ngit clone git@github.com:WendellAdriel/komeet.git my-app \u0026\u0026 cd my-app \u0026\u0026 rm -rf .git\n```\n\n## Configuration\n\n```bash\nmake configure\n```\n\nThis will copy the configuration files from the sample ones.\nMake sure to update the configuration files with the needed values.\n\n## Building the application\n\n```bash\nmake build\n```\n\n## Running the application\n\n```bash\nmake run\n```\n\n## Creating Users\n\n**Komeet** ships with a `create-user` command for creating users to the application (great for dev envs):\n\n```bash\nmake create-user NAME=\"John Doe\" EMAIL=johndoe@example.com PASSWORD=secret\n```\n\n## Setting a CI/CD Pipeline\n\nFor non-local envs, you'll need only the content from the `dist` folder to be added to your server/container.\nThese are the steps for setting a CI/CD pipeline for **Komeet** applications:\n\n1 - Run the `make build` command to generate the `dist` folder.\n\n2 - Place the contents of the `dist` folder in your server/container.\n\n3 - Add the `config.json` and `secrets.json` files to the same folder from point 2.\n\n4 - Run the `./komeet serve` command. \n\n## Credits\n\n- [Wendell Adriel](https://github.com/WendellAdriel)\n- [All Contributors](../../contributors)\n\n## Contributing\n\nCheck the **[Contributing Guide](CONTRIBUTING.md)**.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwendelladriel%2Fkomeet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwendelladriel%2Fkomeet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwendelladriel%2Fkomeet/lists"}