module
0.0.0-20250301080608-94dd30a0f6c7
Repository: https://github.com/gurch101/gowebutils.git
Documentation: pkg.go.dev
# README
Go Web Application Skeleton
Features
HTTP
- 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
Security
- Support for oauth2 authentication code flow. Tested with AWS Cognito.
- invite user flow support
- session management
- TODO: bearer token authentication
- TODO: Role-based access control
- templated email sending
File Storage
- download/upload/delete files from s3
Payments
- TODO: add payment service
Database
- helpers for simple CRUD
- dynamic query builder
- database migrations
- database seeding
Validation
- simple validator for checking request errors
Testing
- helpers for testing http endpoints
- in-memory database for testing
Installation
- run
./setup.sh
- Create a cognito user pool and register an app. Set env vars in .env
- run
make dev/run
Production
shutdown the server by running pkill -SIGTERM webapp