package main import ( "github.com/jackc/pgx/v5/pgxpool" "github.com/labstack/echo/v4" "github.com/labstack/echo/v4/middleware" "osdb/internal/handler" ) // New creates and configures the Echo instance with all routes registered. // Extension point: story #2, #4, #7, #8 route groups are added here. func New(pool *pgxpool.Pool) *echo.Echo { e := echo.New() e.HideBanner = true // Global middleware e.Use(middleware.Logger()) e.Use(middleware.Recover()) health := handler.NewHealthHandler() // Root health — used by docker healthcheck + ops tooling e.GET("/health", health.Health) // Versioned API group api := e.Group("/api/v1") api.GET("/health", health.Health) // Future story groups (fruits, publications, admin, auth) are added here. return e }