1 Commits

Author SHA1 Message Date
KS Jannette
c8190c2d63 Add project layout, endpoints table, route guide, and shutdown note to README
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-29 23:43:11 -04:00

View File

@@ -1,6 +1,32 @@
# Go HTTP server
A simple Go HTTP server boilerplate with Echo, structured logging, and Docker support.
A simple Go HTTP server boilerplate with Echo, structured logging, and Docker support. Includes graceful shutdown on `SIGINT`/`SIGTERM` via `errgroup`.
## Project layout
cmd/app/ entrypoint, wiring, graceful shutdown
cmd/app/handler/ HTTP handlers and route registration
internal/config/ env-based configuration
internal/domain/ your business logic goes here
internal/infrastructure/os/ signal handling
pkg/logger/ Zap logger setup
## Endpoints
| Method | Path | Description |
|--------|-----------|---------------------------|
| GET | `/health` | Liveness check (`200 OK`) |
## Adding an endpoint
Register routes in a `setup…Routes` method and call it from `handler.New`
(see `cmd/app/handler/health.go`):
```go
func (h *Handler) setupFooRoutes(e *echo.Echo) {
e.GET("/foo", h.getFoo)
}
```
## Prerequisites