⚠️ 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.
- Dependabot - Dependency Management
- Gin Gonic - Golang Web Framework
- Goose - Golang Migrations framework
- GoDotEnv - Golang .env file parser
- Golang CI Lint - Golang Linter
- GoSec - Golang Security Scan
- TailwindCSS - CSS Framework from the CDN
- Air - Live reload for Go applications
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- Runsmake linter,make testandmake gosecto 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 endpoint
Note! 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
- Clone the repository
git clone git@github.com:KostLinux/GoBlitz.git my-web-application- Change the directory
cd my-web-application- Configure .env
cp .env.example .env- Setup the database
docker-compose up -d db- Run the migrations
make migrate-up- Generate
STATUSPAGE_API_KEY
go run bin/api/generate_api_key.go
-
Paste the generated key into the
.envfile into theSTATUSPAGE_API_KEYvariable -
Run the application
make run- Visit the application in your browser
Feel free to visit the application at localhost:8000 and move around available paths
- Install Air
curl -sSfL https://raw.githubusercontent.com/cosmtrek/air/master/install.sh | sh -s
mv ./bin/air /usr/local/bin/air- Run the application with Air
makeYou 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.