Formation pratique pour apprendre GraphQL étape par étape avec Apollo Server et Apollo Client.
Chaque étape est sur une branche différente. Si vous êtes bloqués, vous pouvez checkout la branche suivante.
- main (Step 0) : Apollo Server basique monofichier ✅
- step1 : Séparation typeDefs/resolvers en modules
- step2 : Schema complet Blog (User, Post, Comment)
- step3 : PostgreSQL + Docker
- step4 : DataLoader (résolution N+1)
- step5 : Cache HTTP
- step6 : Plugin monitoring (DB/Cache calls)
- step7 : Pagination cursor
- step8 : Frontend React + Apollo Client
- step9 : Queries & Mutations
- step10 : Persisted Queries
- step11 : Subscriptions
- step12 : Optimistic UI
- step13 : Authentication JWT
- step14 : Error Handling avancé
- step15 : Federation (bonus)
# Installation
npm install
# Lancer en développement (avec hot-reload)
npm run dev
# Lancer en production
npm startLe serveur GraphQL se lance sur http://localhost:4000
- Setup initial d'Apollo Server
- Définition de types GraphQL
- Écriture de resolvers simples
- Queries de base
src/
└── index.ts # Tout dans un fichier pour commencer
# Query de test
query Hello {
hello
}
# Récupérer tous les users
query GetUsers {
users {
id
name
email
}
}
# Récupérer un user par ID
query GetUser {
user(id: "1") {
name
email
}
}- Comprendre la structure basique d'un serveur GraphQL
- Écrire votre première query
- Comprendre la relation typeDefs/resolvers
- Utiliser Apollo Studio (interface GraphQL)
git checkout step1Le Step 1 va organiser le code en modules séparés pour une meilleure structure.
Jonathan Jalouzot - GitHub