graphql-engine/server/documentation
2022-03-14 07:50:35 +00:00
..
data-sources server/tests: unify HASURA_BIGQUERY_SERVICE_KEY and HASURA_BIGQUERY_SERVICE_ACCOUNT env vars 2022-03-14 07:50:35 +00:00
glossary.md Add documentation scaffolding for first sync-up. 2022-01-25 13:18:22 +00:00
migration-guidelines.md server: relocate some of the pre metadata separation source catalog migrations 2021-11-03 14:21:40 +00:00
overview.md Add new documentation folder and two documentation files 2021-09-15 10:04:24 +00:00
README.md Enable remote joins from remote schemas in the execution engine. 2022-03-09 03:18:22 +00:00
remote_joins_execution.md Enable remote joins from remote schemas in the execution engine. 2022-03-09 03:18:22 +00:00
schema.md Remove Unique from Definition 2021-12-01 16:21:35 +00:00
tips.md Add a tip on how to benchmark a query on postgres 2022-02-08 08:29:22 +00:00

Server engineering documentation

This page documents the structure and the internal architecture of the GraphQL Engine Server. To get started, you can read the overview. We also maintain a glossary of all the terms we use throughout the code and the documentation.

You can also get started with a list of tips and tricks.

Haddock documentation

You can browse the generated haddock documentation for the engine's code; we automatically update it on every push to a branch of interest:

Architecture deep-dive

TODO: we can either list individual topics here, or point to architecture/ and have a README file there.

Notes

In our Haskell codebase, we use GHC-style notes for long-form comments detailing a specific aspect of the codebase. We gather all of them, as of the main branch, in the notes subfolder.

Updating this documentation

All markdown files in this folder are either copied verbatim from server/documentation or generated as part of our CI; do not open a PR to modify files in the gh-pages branch, and instead modify their source directly. Notes are extracted using the scripts/extract-nodes bash script. The haddock documentation is generated by running cabal haddock --haddock-internal --haddock-options="--ignore-all-exports".