mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-15 17:31:56 +03:00
e9ae080d28
### Description This small documentation PR explains why and how we use `ManagedT`, and how it solves problems we would have with `Managed`. PR-URL: https://github.com/hasura/graphql-engine-mono/pull/8615 GitOrigin-RevId: 5b7710a8cb6373fefb69bb4e9e8eda389c14c2da
43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
# Server engineering documentation
|
|
|
|
This page documents the structure and the internal architecture of the [GraphQL
|
|
Engine Server](https://github.com/hasura/graphql-engine/tree/master/server). To
|
|
get started, you can read the [overview](overview.md). We also maintain a
|
|
[glossary](glossary.md) of all the terms we use throughout the code and the
|
|
documentation.
|
|
|
|
You can also get started with a list of [tips and tricks](tips.md).
|
|
|
|
## Haddock documentation
|
|
|
|
You can [browse the engine's haddock documentation](haddock) for the [stable](haddock/stable) branch, [main](haddock/main) branch, and every previous version release since `v2.2.0`.
|
|
|
|
## Architecture deep-dive
|
|
|
|
* how to understand our [GraphQL schema](deep-dives/schema.md)
|
|
* how to perform [database migrations](deep-dives/migration-guidelines.md)
|
|
* how the [execution of remote joins](deep-dives/remote-joins-execution.md) works
|
|
* how we [manage resources](deep-dives/managed.md)
|
|
|
|
|
|
## Backend-specific documentation
|
|
|
|
* [BigQuery](data-sources/bigquery.md)
|
|
|
|
## Notes
|
|
|
|
In our Haskell codebase, we use [GHC-style
|
|
notes](https://www.stackbuilders.com/news/the-notes-of-ghc) 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](notes/).
|
|
|
|
## Updating this documentation
|
|
|
|
All markdown files in this folder are either copied *verbatim* from
|
|
[`server/documentation`](https://github.com/hasura/graphql-engine/tree/master/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"`.
|