- Go
- [mux] ( https://github.com/gorilla/mux )
- [mongodb] ( https://www.mongodb.com/ )
- [mongo-go-driver] ( https://github.com/mongodb/mongo-go-driver )
- [oauth2] ( https://github.com/golang/oauth2 )
- [check] ( https://godoc.org/gopkg.in/check.v1 )
- [godotenv] ( https://github.com/joho/godotenv )
- [cors] ( github.com/gin-contrib/cors )
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.
- clone letsGo
- change package name in
go.mod
to your package name - change the internal package (controllers, tests, helpers etc.) paths as per your requirement
- setup
.env
and.env.testing
- run
go mod download
to install dependencies
go get github.com/letsgo-framework/letsgo-cli
letsgo-cli init <import_namespace> <project_name>
- letsgo-cli init github.com myapp
Generates a new project called myapp in yourGOPATH
insidegit.luolix.top
and installs the default plugins through the glide.
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