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 suppremer d'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 -d
Avec Podman
podman compose up -d
L'application sera accessible à l'URL http://localhost:3000
Avec docker
docker compose down
Avec 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 |