Skip to content

Projet d'exemple

Un projet de démonstration illustrant les principales fonctionnalités de GraphQL est disponible dans le dépôt GitHub graphql.

Celui-ci servira de base pour les exercices.

Structure du projet

Cette application de démonstration implémente une bibliothèque de musique avec des utilisateurs et les chansons qu'ils ont publiés.

Serveur

Le serveur est construit avec Apollo Server.

Il propose un schema GraphQL basique avec generation automatique des types avec codegen.

Afin de simplifier le projet, aucune base de données n'est utilisée, et les données sont stockées en mémoire et accessibles depuis la classe FakeORM qui simule un ORM basique d'une base de données.

Client

Le client est construit avec Next.js et shadcn/ui.

Il propose des pages pour afficher les utilisateurs et les chansons.

Developpement

L'application complete est lançable avec Docker depuis la racine du projet avec la commande docker compose up.

Attention, lancé avec Docker, l'application sera lancée en mode "production" et ne sera pas mise à jour avec les derniers changements du code.

Le frontend sera accessible à l'adresse http://localhost:3000.

La sandbox Apollo sera accessible à l'adresse http://localhost:4000/graphql.

Lancement en mode developpement

Pour lancer l'application en mode developpement, installer les dépendances de chaque projet avec npm install et lancer les chacun d'eux avec npm run dev.