{"id":28283116,"url":"https://github.com/fanchann/go-starter","last_synced_at":"2025-06-17T07:31:42.522Z","repository":{"id":176690356,"uuid":"657986646","full_name":"fanchann/go-starter","owner":"fanchann","description":"REST API template generator","archived":false,"fork":false,"pushed_at":"2024-05-14T15:32:21.000Z","size":1973,"stargazers_count":19,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-03T15:13:34.751Z","etag":null,"topics":["backend-template","clean-architecture","cli","cli-tools","create-rest-api","golang-cli","golang-tools","gorm","rest-api-template","template-generator","template-project"],"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/fanchann.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":"2023-06-24T12:14:30.000Z","updated_at":"2025-01-22T06:26:19.000Z","dependencies_parsed_at":null,"dependency_job_id":"df054233-b10b-4a62-ab51-9fa979fb2fa9","html_url":"https://github.com/fanchann/go-starter","commit_stats":null,"previous_names":["fanchann/go-starter"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/fanchann/go-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fanchann%2Fgo-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fanchann%2Fgo-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fanchann%2Fgo-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fanchann%2Fgo-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fanchann","download_url":"https://codeload.github.com/fanchann/go-starter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fanchann%2Fgo-starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260313817,"owners_count":22990474,"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":["backend-template","clean-architecture","cli","cli-tools","create-rest-api","golang-cli","golang-tools","gorm","rest-api-template","template-generator","template-project"],"created_at":"2025-05-21T16:14:18.136Z","updated_at":"2025-06-17T07:31:42.512Z","avatar_url":"https://github.com/fanchann.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Go-Starter\n![App Screenshot](/assets/GO-STARTER.png)\n\n## What is Go-Starter?\nThis tool helps you to do the tedious work of setting configuration and creating layers for the REST API\n\n## go-starter command\n```sh\n go-starter help\n\n\t┌─┐┌─┐   ┌─┐┌┬┐┌─┐┬─┐┌┬┐┌─┐┬─┐\n\t│ ┬│ │───└─┐ │ ├─┤├┬┘ │ ├┤ ├┬┘\n\t└─┘└─┘   └─┘ ┴ ┴ ┴┴└─ ┴ └─┘┴└─\n\t \nUsage: go-starter [OPTIONS]\n\nOptions:\n  -f string\n    \tstarter configuration file (default \"starter.yaml\")\n  help\n    \tshow help message\n\nExamples:\n  go-starter new      Generate configuration file\n  go-starter          Run the application\n  go-starter -f=configuration.yaml[default: starter.yaml] Specify a custom configuration file\n```\n## generate starter configuration\n```sh\ngo-starter new\n\n\t┌─┐┌─┐   ┌─┐┌┬┐┌─┐┬─┐┌┬┐┌─┐┬─┐\n\t│ ┬│ │───└─┐ │ ├─┤├┬┘ │ ├┤ ├┬┘\n\t└─┘└─┘   └─┘ ┴ ┴ ┴┴└─ ┴ └─┘┴└─\n\t \n2024/01/18 16:46:54 Success generate starter.yaml\n```\n\n`starter.yaml` is a go-starter configuration:\n```yaml\nversion: \"1\"\npackage: your-name-app\ndatabase: database\n```\ndatabase support :\n- mysql\n- mongodb\n- postgres\n\n## generate structure project\n```sh\n go-starter\n\n\t┌─┐┌─┐   ┌─┐┌┬┐┌─┐┬─┐┌┬┐┌─┐┬─┐\n\t│ ┬│ │───└─┐ │ ├─┤├┬┘ │ ├┤ ├┬┘\n\t└─┘└─┘   └─┘ ┴ ┴ ┴┴└─ ┴ └─┘┴└─\n\t \nlayer 'cmd' created successfully.\nlayer 'api' created successfully.\nlayer 'db/migrations' created successfully.\nlayer 'internals/config' created successfully.\nlayer 'internals/delivery/http' created successfully.\nlayer 'internals/delivery/messaging' created successfully.\nlayer 'internals/gateway' created successfully.\nlayer 'internals/models' created successfully.\nlayer 'internals/repository' created successfully.\nlayer 'internals/usecase' created successfully.\nlayer 'internals/helpers' created successfully.\nlayer 'tests' created successfully.\n```\n\n## Structure\nStructure reference\n- [Golang standards project layout](https://github.com/golang-standards/project-layout/)\n```sh\n├── api\n├── cmd\n│   └── main.go\n├── config.dev.yaml\n├── db\n│   └── migrations\n├── docker-compose.yaml\n├── go.mod\n├── internals\n│   ├── config\n│   │   ├── mysql.go ## filename following the database\n│   │   └── viper.go\n│   ├── delivery\n│   │   ├── http\n│   │   └── messaging\n│   ├── gateway\n│   ├── helpers\n│   │   └── error.go\n│   ├── models\n│   ├── repository\n│   └── usecase\n├── starter.yaml\n└── tests\n\n```\n\n## About go-starter\nThis tool adopt \\\n[gorm](https://gorm.io/)\\\n[mongo client](https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo)\\\n[viper](https://pkg.go.dev/github.com/dvln/viper)\n\nDatabase support:\n| Database              | Support |\n| :---------------- | :------: |\n| MySQL        |   ✅   |\n| PostgreSQL           |   ✅   |\n| MongoDB    |  ✅   |\n\n## Installation\n```sh\ngo install github.com/fanchann/go-starter@latest\n```\n\nsee older version here [version](https://github.com/fanchann/go-starter/tags)\n\n## Running Your App\nAfter generating the template, enter the folder that has been generated by `go-starter`, and then add dependencies using the following command.\n```sh\ngo mod tidy\n```\nThis command will download and install the required dependencies for your project\\\nAfter success install dependencies, run app with command :\n```sh\ngo run cmd/main.go\n```\n## Authors\n\n- [@fanchann](https://github.com/fanchann)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffanchann%2Fgo-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffanchann%2Fgo-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffanchann%2Fgo-starter/lists"}