feat: add challenge file
Some checks failed
Docker / build (push) Failing after 28s
Rust / test (push) Successful in 53s
Rust / check (push) Successful in 56s

This commit is contained in:
2026-06-16 13:53:39 +02:00
parent 0ffb1e8b5f
commit fe6244f51c
2 changed files with 12 additions and 10 deletions

View File

@@ -2,6 +2,8 @@
REST API for the TrueLayer Software Engineering Challenge. It returns basic Pokémon information from PokéAPI and, on request, a fun translated description from FunTranslations.
[File challenge](TrueLayer-_Software_Engineering_Challenge_2026.pdf)
## Requirements
You can run it either with Docker or with a local Rust toolchain. Common commands are available through `make`; run `make help` for the full list.
@@ -84,16 +86,16 @@ See `docs/architecture.md` for the design notes.
## Configuration
| Variable | Default | Description |
| --- | --- | --- |
| `BIND_ADDR` | `0.0.0.0:5000` | HTTP bind address |
| `POKEAPI_BASE_URL` | `https://pokeapi.co/api/v2` | PokéAPI base URL |
| `FUN_TRANSLATIONS_BASE_URL` | `https://api.funtranslations.mercxry.me/v1` | FunTranslations base URL |
| `REQUEST_TIMEOUT_SECONDS` | `5` | Upstream HTTP timeout |
| `RATE_LIMIT_PER_SECOND` | `20` | Global token refill rate |
| `RATE_LIMIT_BURST` | `40` | Global burst capacity |
| `OTEL_SERVICE_NAME` | `pokedex-api` | OpenTelemetry service name |
| `RUST_LOG` | `pokedex_api=info,tower_http=info` | JSON tracing log filter |
| Variable | Default | Description |
| --------------------------- | ------------------------------------------- | -------------------------- |
| `BIND_ADDR` | `0.0.0.0:5000` | HTTP bind address |
| `POKEAPI_BASE_URL` | `https://pokeapi.co/api/v2` | PokéAPI base URL |
| `FUN_TRANSLATIONS_BASE_URL` | `https://api.funtranslations.mercxry.me/v1` | FunTranslations base URL |
| `REQUEST_TIMEOUT_SECONDS` | `5` | Upstream HTTP timeout |
| `RATE_LIMIT_PER_SECOND` | `20` | Global token refill rate |
| `RATE_LIMIT_BURST` | `40` | Global burst capacity |
| `OTEL_SERVICE_NAME` | `pokedex-api` | OpenTelemetry service name |
| `RUST_LOG` | `pokedex_api=info,tower_http=info` | JSON tracing log filter |
## Instrumentation