Simple and minimal Go template for building fast, simple and mantainable web services and backend applications.
Important
While blaze is already used and working flawlessly in production, it's still evolving and may have breaking changes in the future.
You can find the full documentation with examples here.
A full REST API example using SQLite, sqlx and Prometheus metrics can be found here.
- Minimal and low overhead
- Production ready
- Simple and conventional structure
- Fully compatible and based on standard net/http
- Strict linting with golangci-lint
- Custom HTTP error handling
- Request payload validation
- Structured logging with zerolog
- Full AWS Lambda support (see serverless branch)
All utilities are implemented in the httpcore
and util
package.
- chi: HTTP router (std net/http compatible)
- chi/middleware: middleware and hooks
- validator/v10: request body struct validation
- zerolog: Structured logging
You can start by reading the small wiki with examples.
To scaffold a new blaze project, simply run this command:
go run github.com/paologaleotti/blaze-cli@master
This will use the blaze-cli to scaffold the project. You can also use the GitHub template or simply clone the repo.