How benahmedamir/fizz-buzz-test works
This is a small Go HTTP API. A client request enters the router, reaches the FizzBuzz handler, has its query parameters parsed, and is validated and computed by the domain service; successful computations are recorded for the statistics endpoint. The server also exposes health and embedded OpenAPI/Swagger documentation. The graph reflects the sampled implementation and README; documentation and health routes are included, while no separate persistent store or external API is documented.
Main entry points: handler.go API Handler · router.go Route Router · service.go FizzBuzz Service · main.go Server Bootstrap
Components 18
HTTP API
- Route Router
internal/handler/router.go - Request Middleware
internal/handler/middleware.go - API Handler
internal/handler/handler.go - Query Parsing
internal/handler/params.go - HTTP Responses
internal/handler/handler.go - Health Endpoint
internal/handler/handler.go
FizzBuzz Domain
- FizzBuzz Service
internal/fizzbuzz/service.go - Request Validation
internal/fizzbuzz/validation.go - Sequence Generator
internal/fizzbuzz/fizzbuzz.go
Request Statistics
- Request Counter
internal/stats/stats.go
Server Runtime
- Environment Config
cmd/server/config.go - Server Bootstrap
cmd/server/main.go
API Documentation
- Documentation Handler
internal/handler/docs.go - OpenAPI Spec
internal/handler/openapi.yaml - Swagger UI
internal/handler/swagger.html
Other components
- API Client
- Documentation Browser
- Swagger CDN
Connections 22
- API Client → Route Router: sends HTTP
- Route Router → Request Middleware: wraps routes
- Route Router → API Handler: dispatches API
- Request Middleware → API Handler: forwards requests
- API Handler → Query Parsing: parses query
- API Handler → FizzBuzz Service: computes request
- FizzBuzz Service → Request Validation: validates
- FizzBuzz Service → Sequence Generator: generates sequence
- FizzBuzz Service → Request Counter: records success
- API Handler → Request Counter: reads top request
- API Handler → HTTP Responses: writes results
- API Handler → Health Endpoint: serves health
- Route Router → Documentation Handler: dispatches docs
- Documentation Handler → OpenAPI Spec: serves spec
- Documentation Handler → Swagger UI: serves UI
- Documentation Browser → Route Router: requests docs
- Swagger UI → Swagger CDN: loads viewer assets
- Documentation Browser → Swagger CDN: fetches viewer
- Server Bootstrap → Environment Config: loads settings
- Server Bootstrap → Request Counter: creates counter
- Server Bootstrap → FizzBuzz Service: creates service
- Server Bootstrap → Route Router: starts HTTP server