Týden 12 - GraphQL - Hasura, Apollo
Link na stream: vexfalard - Twitch
Vysílání bude probíhat 18.5. v 12:00
Obsah:
- Úvod do GraphQL
- Typy
- Query
- Mutation
- Hasura - graphql nad DB
- Apollo Client - integrace s FE
Seminární projekt
V poslední iteraci přejdeme z REST API na GraphQL. Aplikace bude mít dvě části - serverovou a klientskou.
Na straně serveru
Pro soubory na straně serveru použijte složku messenger-gql.
Začněte instalací Hasury. Poté v případě potřeby definujte své schéma. Po vytvoření schématu přidejte nějaká data a otestujte funkční rozhraní GraphQL API.
Tipy:
Pro novou DB postupujte podle https://hasura.io/docs/latest/graphql/core/getting-started/index.html#get-started-from-scratch
Pro existující DB postupujte podle https://hasura.io/docs/latest/graphql/core/deployment/deployment-guides/docker.html#deployment-docker
Na straně klienta
Budete přecházet ze state managementu na Apollo klienta. Opět začněte jeho instalací.
Pro komponenty načítající data ze serveru vytvořte query.
Pěkný příklad Typescriptu využívajícího hooky najdete zde.
Hint:
V kořenovém elementu přidejte ApolloProvider, nakonfigurujte jej s cache a propojte s backendem.
V komponentě definujte que a načítejte data pomocí useQuery pro vaši komponentu.
Případně můžete použít SWR bez Apolla. Podporuje také jazyk GQL.