sangria-graphql/sangria-akka-http-example
59.4
Weak · 20 September 2026
263
lines of production code
Scala
primary language
1
measurement over time
What this system is
This system is a GraphQL API server built on Scala, Akka HTTP, and the Sangria library, designed to expose a Star Wars-themed dataset. It provides paginated queries for characters and supports cross-origin requests, Apollo tracing, and deferred resolvers for batching data. The implementation has been modernized with Scala 2.13 and Circe for JSON serialization, and includes deployment support for Heroku.
Behavioural changes
Adds CORS support, pagination queries, and Apollo tracing
The server now includes a new \CorsSupport\ trait to handle Cross-Origin Resource Sharing headers and preflight requests, enabling browser-based clients to interact with the API. The GraphQL schema has been extended with \humans\ and \droids\ fields that support pagination via \limit\ and \offset\ arguments, allowing clients to retrieve lists of characters. Additionally, the server now supports Apollo tracing via the \X-Apollo-Tracing\ header and uses a new fetcher-based deferred resolver for batching friend lookups, replacing the previous manual deferred resolver implementation.
src/main · high confidence
Updated example to use GraphQL best practices and added Heroku deployment support
The example application now follows GraphQL best practices for HTTP requests, switching from GET-based queries with query string parameters to POST requests with JSON bodies, and includes an interactive GraphQL Playground at the root path. Additionally, the project now supports Heroku deployment via a new app.json file and updated documentation.
(repo-wide) · high confidence
Test coverage
Added tests for Star Wars GraphQL schema queries
Added a new test suite (SchemaSpec) that validates the Star Wars GraphQL schema by verifying that the hero query correctly identifies R2-D2 and that fetching a specific human by ID returns the expected character details and friends list.
src/test · high confidence
Dependencies
Major dependency upgrades and migration to Scala 2.13
The project has been upgraded to Scala 2.13.17 and significantly updated its core libraries: Sangria to 4.2.15, Akka HTTP to 10.2.10, and Circe to 0.14.15. The JSON serialization backend has switched from json4s to Circe, introducing circe-core, circe-parser, and circe-optics while removing json4s-native and akka-http-json4s. Additionally, the build now enables JavaAppPackaging for native distribution and adds the sangria-slowlog and sangria-akka-http-circe integrations.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Baseline
- First survey — no prior run to compare against. CAI 59.
Lenses
- Code Health 100
- Architecture 69
- Maturity 52
- Readiness 51
- Security 92
Changes since last survey
- 300 commits — 295 feature/other, 5 fixes
By area
- (repo) — 128 commits
- (root) — 93 commits
- project/build.properties — 26 commits
- src/main — 25 commits
- project/plugins.sbt — 20 commits
- .github/workflows — 8 commits
Notable commits
- fix: Fix Akka HTTP link and document that variables can be a JSON object
- fix: Revert commit(s) 0666aad
- fix: Revert commit(s) 4fc84cb
- fix: Updated to the latest version of sangria and fixed example query
- fix: Using fetch API now + other minor fixes
- change: - upgraded the dependencies to the latest version - upgraded sbt - upgraded the sbt deployment plugins
- change: Added example test
- change: Added native packager
- change: Added playground and enabled apollo tracing
- change: Adjust to Xsource:3
- change: Arrow!
- change: Bump all dependencies to latest version
- change: Bump dependencies to latest versions
- change: Bump version to Akka v2.4.2 and Sangria v0.5.2
- change: Bumped versions
- change: Bumped versions
- change: Create scala.yml
- change: Deprecated a field for demonstration purpose
- change: Extended the example to support querying for all humans and droids
- change: Ignored .bsp
- …and 280 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
sangria-graphql/sangria-akka-http-example was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 20 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 99cc0904a270f850c467d69208b655a7fae3a295 — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-b51f968c9b10.