- structured logging
- middleware for logging, panic recovery, cors, session management, rate limiting, and gzip
- error response handling
- sensible defaults for http server with graceful shutdown
- utilities for handling JSON requests/responses, query string and url path parameter parsing
- https and http/2 out-of-the-box
- Support for oauth2 authentication code flow. Tested with AWS Cognito.
- invite user flow support
- session management
- Role-based access control
- TODO: bearer token authentication
- templated email sending
- download/upload/delete files from s3
- TODO: add payment service
- helpers for simple CRUD
- dynamic query builder
- database migrations
- database seeding
- simple validator for checking request errors
- helpers for testing http endpoints
- in-memory database for testing
- run
./setup.sh - Create a cognito user pool and register an app. Set env vars in .env
- run
make dev/run
shutdown the server by running pkill -SIGTERM webapp