Bienvenue dans ce projet technique conçu pour un entretien pair-reviewing. Ce projet a pour but de créer une API REST ou GraphQL et une application front-end permettant de gérer des astronautes.
L'API doit permettre :
- Récupérer la liste des astronautes ;
- Ajouter un astronaute ;
- Modifier ou supprimer un astronaute.
L'application front-end doit :
- Afficher la liste des astronautes ;
- Permettre d'effectuer les actions (ajout, modification, suppression,...) sur les astronautes.
- Back-End : Node.js avec Express ou GraphQL.
- Front-End : React.
⚠️ L'utilisation de frameworks “magiques” comme NestJS est proscrite, car cela enlèverait l'intérêt de l'exercice.
- Node.js installé sur votre machine ;
- Docker ou Podman.
Créez un fichier .env à la racine du projet avec le contenu suivant :
POSTGRES_USER=myuser
POSTGRES_PASSWORD=mysecretpassword
POSTGRES_DB=test-astronauts
DATABASE_URL=postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}Avec docker
docker compose up -dAvec Podman
podman compose up -dL'application sera accessible à l'URL http://localhost:3000
Avec docker
docker compose downAvec Podman
podman compose down
| Commande | Description |
|---|---|
npm run lint |
Exécute l'analyse statique du code |
npm run lint:fix |
Exécute l'analyse du code et tente de corriger automatiquement les problèmes de style détectés |
npm run test |
Lance la suite de tests |
npm run test:ui |
Lance la suite de tests avec l'interface utilisateur de Vitest |