This tool helps you to do the tedious work of setting configuration and creating layers for the REST API
go-starter help
┌─┐┌─┐ ┌─┐┌┬┐┌─┐┬─┐┌┬┐┌─┐┬─┐
│ ┬│ │───└─┐ │ ├─┤├┬┘ │ ├┤ ├┬┘
└─┘└─┘ └─┘ ┴ ┴ ┴┴└─ ┴ └─┘┴└─
Usage: go-starter [OPTIONS]
Options:
-f string
starter configuration file (default "starter.yaml")
help
show help message
Examples:
go-starter new Generate configuration file
go-starter Run the application
go-starter -f=configuration.yaml[default: starter.yaml] Specify a custom configuration filego-starter new
┌─┐┌─┐ ┌─┐┌┬┐┌─┐┬─┐┌┬┐┌─┐┬─┐
│ ┬│ │───└─┐ │ ├─┤├┬┘ │ ├┤ ├┬┘
└─┘└─┘ └─┘ ┴ ┴ ┴┴└─ ┴ └─┘┴└─
2024/01/18 16:46:54 Success generate starter.yamlstarter.yaml is a go-starter configuration:
version: "1"
package: your-name-app
database: databasedatabase support :
- mysql
- mongodb
- postgres
go-starter
┌─┐┌─┐ ┌─┐┌┬┐┌─┐┬─┐┌┬┐┌─┐┬─┐
│ ┬│ │───└─┐ │ ├─┤├┬┘ │ ├┤ ├┬┘
└─┘└─┘ └─┘ ┴ ┴ ┴┴└─ ┴ └─┘┴└─
layer 'cmd' created successfully.
layer 'api' created successfully.
layer 'db/migrations' created successfully.
layer 'internals/config' created successfully.
layer 'internals/delivery/http' created successfully.
layer 'internals/delivery/messaging' created successfully.
layer 'internals/gateway' created successfully.
layer 'internals/models' created successfully.
layer 'internals/repository' created successfully.
layer 'internals/usecase' created successfully.
layer 'internals/helpers' created successfully.
layer 'tests' created successfully.Structure reference
├── api
├── cmd
│ └── main.go
├── config.dev.yaml
├── db
│ └── migrations
├── docker-compose.yaml
├── go.mod
├── internals
│ ├── config
│ │ ├── mysql.go ## filename following the database
│ │ └── viper.go
│ ├── delivery
│ │ ├── http
│ │ └── messaging
│ ├── gateway
│ ├── helpers
│ │ └── error.go
│ ├── models
│ ├── repository
│ └── usecase
├── starter.yaml
└── tests
This tool adopt
gorm
mongo client
viper
Database support:
| Database | Support |
|---|---|
| MySQL | ✅ |
| PostgreSQL | ✅ |
| MongoDB | ✅ |
go install github.com/fanchann/go-starter@latestsee older version here version
After generating the template, enter the folder that has been generated by go-starter, and then add dependencies using the following command.
go mod tidyThis command will download and install the required dependencies for your project
After success install dependencies, run app with command :
go run cmd/main.go