quartzgun is a basic web framework in Go which provides the following primitives:
- static route trees
- dynamic routes which can capture parameters by regex
func (http.Handler) http.Handlermiddleware pattern
renderers as endpoints of middleware chains, for rendering templated HTML or providing JSON/XML data for an API endpoint
UserStoreinterface and login/logout wrapper functions for user authentication
- proof of concept implementation of
UserStorewith indental storage backend
- some additional middleware that takes the work out of authentication and CSRF protection
The framework is designed to enable speedy development of websites and APIs. It's inspired by Django and Express in terms of the ease of use and speed of development, but interpreted through the explicit and minimal design aesthetic of Go (and with the safety and performance benefits that come with the language).
See the readme for up-to-date roadmap and features -- development is in the early stages. A test suite is planned, as well as possibly more
UserStore implementations and maybe sort of Data Access interface.
- source code
- go module