echo
API health check and version.
GraphQL · Open Source · Federation
Pilotariak's GraphQL API — five data domains, one entry point. Built for developers who want to access Basque pelota data.
Overview
Frontis federates five independent services into a single GraphQL entry point. Each domain has its own schema and its own deployment cycle.
API health check and version.
Competition categories — owns the Category entity.
Basque pelota clubs — owns the Club entity.
Championships and tournaments — owns the Competition entity.
Match results — owns the Result entity.
Pelota disciplines — owns the Specialty entity.
How it works
Each service manages its own domain. The gateway composes schemas automatically and resolves cross-domain queries.
Each service exposes its own GraphQL schema and declares the entities it owns. The gateway composes a consistent supergraph without manual configuration.
Clients send queries to a single /graphql endpoint. The gateway resolves fields across services transparently.
One API instance serves all leagues. A request header selects the active dataset — no per-league deployment.
Built-in limits on query depth, complexity and size protect the API from expensive operations — configurable per environment.
GraphQL Federation
@key Each service declares the types it owns. The gateway automatically resolves fields that span multiple services.
Federated entities
| Entity | Service | Key |
|---|---|---|
Category | categories | id |
Club | clubs | id |
Competition | competitions | id |
Result | results | id |
Specialty | specialties | id |
Cross-service resolution
# Client query:
{ results { clubA { name } } }
# The gateway:
# 1. Fetches Results with clubA { id }
# → results service
# 2. Sends _entities([{ __typename:"Club", id }])
# → clubs service
# 3. Merges { name } into the response Open Source · Apache 2.0
Frontis is open source and welcomes contributions of all kinds — new subgraphs, bug fixes or documentation improvements.
Clone the repo, install dependencies and start the Apollo gateway locally.
Found a bug or have an idea? GitHub issues are the right place to discuss and track work.
All pull requests are reviewed. Check the contributing guide in the repository for conventions.