By default, your project's structure will look like this:
/controllers
: contains the core code of your application./database
: contains mongo-go-driver connector./helpers
: contains helpers functions of your application./middlewares
: contains middlewares of your application./routes
: directory contains RESTful api routes of your application./tests
: contains tests of your application./types
: contains the types/structures of your application.
letsGo uses godotenv
for setting environment variables. The root directory of your application will contain a .env.example
file.
copy and rename it to .env
to set your environment variables.
You need to create a .env.testing
file from .env.example
for running tests.
go.mod
to your package name.env
and .env.testing
go mod download
to install dependenciesletsgo-cli
can be used to setup new projectgo get github.com/letsgo-framework/letsgo-cli
letsgo-cli init <import_namespace> <project_name>
GOPATH
inside github.com
and installs the default plugins through the glide.
go run main.go
go build
go test tests/main_test.go
go test -v -coverpkg=./... -coverprofile=coverage.out ./...
goveralls -coverprofile=coverage.out -service=travis-ci -repotoken $COVERALLS_TOKEN
letsgo uses Go OAuth2 (https://godoc.org/golang.org/x/oauth2) for authentication.
sudo docker run --rm -v "$PWD":/go/src/github.com/letsgo-framework/letsgo -w /go/src/github.com/letsgo-framework/letsgo iron/go:dev go build -o letsgo
sudo docker build -t sab94/letsgo .
sudo docker run --rm -p 8080:8080 sab94/letsgo