Browse by type
A Go-based HTTP API for searching flights, authentication, health checks, and OpenAPI/Swagger documentation. Built with Fiber, Wire for DI, Go‑Playground/Validator for validation, JWT for auth, and Redis for rate‑limiting.
GET /api/health)POST /api/v1/auth/login)GET /api/v1/flights/search)/api/docs.
├── .air.toml # Air config for live reload
├── .editorconfig
├── .env.example
├── Dockerfile # Docker configuration to deploy the server
├── Makefile # Makefile for scripts
├── bin
│ └── install.sh # Install Go tools
├── cmd
│ └── server
│ └── main.go # Main entry point for the server
├── docs
│ ├── docs.go # Documentation handling
│ ├── openapi.json
│ ├── openapi.yaml
│ ├── swagger.json
│ └── swagger.yaml
├── embed.go # Embedding files for the server
├── generate.go # Code generation utilities
├── go.mod
├── go.sum
├── internal
│ ├── app
│ │ └── server # HTTP server, handlers, middleware, router
│ ├── config # env loading, logging, time zone, Wire setup
│ ├── domain # use‑cases, entities, error types
│ ├── pkg # utilities: jwtutil, validator, ptr, …
│ └── provider # external integrations (Amadeus, Duffel, Serp, cache)
├── test
│ ├── container # Docker containers for integration tests
│ └── integration # Integration tests
└── tmp
└── .gitkeep
git clone https://github.com/danielmesquitta/flight-api.git
cd flight-api
make install
Copy .env.example to .env and set required values
Run the server locally:
make run
or Run with Docker:
docker build -t flight-api .
docker run -p 8080:8080 flight-api
Swagger UI and raw specs are available at:
/api/docs/swagger.json /api/docs/swagger.yaml /api/docs/openapi.json /api/docs/openapi.yaml /api/docs
Run unit tests with:
make unit-test
Run integration tests with:
make integration-test
make test
browse all types & interfaces →
$ claude mcp add flight-api \
-- python -m otcore.mcp_server <graph>