:warning: Warning: Archived Project. Please check instead - https://github.com/KostLinux/go-skeleton-app
GoBlitz is a powerful framework built on top of Gin Gonic, designed to help develop production ready web applications in Golang. GoBlitz creates an abstraction layer for the Gin-Gonic framework and provides a structured way to build web applications. It is designed to be fast, secure, and easy to use. The framework is built with security in mind and provides a set of security features to protect web applications from common web vulnerabilities.
Feel free to fork this repository as website boilerplate for your next project.
make build
- Build the applicationmake run
- Run the applicationmake test
- Run the testsmake fumpt
- Run the go fmtmake linter
- Run the comprehensive GolangCILint to check the code qualitymake gosec
- Run the GoSec to check code for vulnerabilitiesmake mod-vendor
- Vendor the dependenciesmake validate
- Runs make linter
, make test
and make gosec
to validate the codemake migrate-create MIGRATION_NAME
- Create a new migrationmake migrate-up
- Run the migrationsmake migrate-down
- Rollback the migrations/
- Home page/status
- Status pageAPI_PATH/ping
- API check endpointAPI_PATH/users
- Sample Users API endpointNote! Replace API_PATH
with the actual path of the application. By default it's /api/v1/
Note! Before getting started, make sure you have Goose
, Air
, Golang CI Lint
, Gosec
and Go
installed on your host
git clone git@github.com:KostLinux/GoBlitz.git my-web-application
cd my-web-application
cp .env.example .env
docker-compose up -d db
make migrate-up
STATUSPAGE_API_KEY
go run bin/api/generate_api_key.go
Paste the generated key into the .env
file into the STATUSPAGE_API_KEY
variable
Run the application
make run
Feel free to visit the application at localhost:8000
and move around available paths
curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s
mv ./bin/air /usr/local/bin/air
make
You can find the documentation page here.
Feel free to contribute to the project by creating a pull request.
Make sure to follow the Contribution Guidelines.