Dockerized Go Boilerplate with Integrated Prisma. Start your next react project in seconds with the best DX and a focus on performance and best practices.
- High performance, extensible, minimalist Go web framework.
-
Uses
docker-compose.yml
to make it docker ready. You can utilise this image anywhere including Kubernetes. - Modern Database access now even for Go, use it to query your database with GraphQL or use it as ORM.
- Converts Go annotations to Swagger Documentation 2.0, with Swagger UI. It uses popular package swag.
- Manage your API's version effectively.
- Automatically install TLS certificates from Let's Encrypt, which you can configure easily.
- Inbuilt HTTP/2 support improves speed and provides better user experience.
- Install modd and your app will be auto reload on every save.
- Pre-configured Go linter with Best Practices.
- Viper for configuration
- Used Go Modules for Dependency management.
- Supervisord for process management, Docker uses it's config file to run compiled executable.
- modd for Live Reload
- Prisma as Database Access Layer
- JWT Go for JWT Authentication
- Swag for Swagger Documentation
- Validator for Request validation
- Go lang installed and $GOPATH must be set
- modd globally installed
- Docker installed if required
- Clone this repository
modd
to start the auto reloaded API serverdocker-compose up --build
to run auto reload docker service
Send an email to hi@rutvikbhatt.com or open an issue.
- Check where go lint installed - https://github.com/golang/lint
- To find out where golint was installed you can run go list -f {{.Target}} golang.org/x/lint/golint. For golint to be used globally add that directory to the $PATH environment setting.
- Set up the go lint for the project https://github.com/vmware/dispatch/wiki/Configure-GoLand-with-golint
- things about modd
- Install modd via
brew install modd
- go to the project directory and run
modd
- Install modd via
- add command to run via docker - docket-compose up --build
- add command to mongo db connection string - mongodb://localhost:27017
- add command to remove from the docker - docker system prune --volumes
- command to remove git caches - git rm -rf --cached .