Projet détaillé / 02 · Node.js / REST

Weather API.

API REST météo développée en pair programming avec Node.js et Express : endpoints, validation, stockage CSV, documentation, CLI et tests.

Node.js Express REST Swagger / OpenAPI CSV Tests
Voir le dépôt GitHub ↗
01 / Objectif & périmètre

Exposer des données météo via une API REST structurée.

L'API permet de consulter les relevés, les villes disponibles, les données d'une ville, des statistiques et l'état du service. Le projet couvre également la validation, les erreurs, la documentation et le stockage CSV. Les données sont chargées en mémoire au démarrage, puis le fichier est réécrit lors des modifications.

RESTcontrat d'API
Swaggerdocumentation
12tests automatisés
02 / Architecture & responsabilités

Séparer les étapes d'une requête pour garder l'API lisible.

FLUX PRINCIPAL D’UNE REQUÊTE NODE.JS / EXPRESS
01Routesendpoints HTTP
02Controllersrequêtes · réponses
03Serviceslogique métier
04Repositoriesaccès · persistance
05CSVstockage des relevés
MODEL RELEVÉReprésentation & validation
MIDDLEWAREErreurs centralisées
LOGGINGRequêtes HTTP
DOCSwagger / OpenAPI
CLIENTCLI indépendant

Le développement a été réalisé principalement en pair programming, avec décisions techniques, relectures et ajustements partagés.

03 / Endpoints & documentation

Des endpoints dédiés aux principaux cas d'usage.

Weather API OpenAPI
GET/relevesliste des relevés
GET/releves/:idrelevé par identifiant
POST/relevescréation
PUT/releves/:idmodification
DELETE/releves/:idsuppression
GET/villesliste des villes
GET/villes/:villeagrégats d'une ville
GET/statsstatistiques globales
GET/healthcheckétat du service
DOC/api-docsSwagger / OpenAPI
04 / Tests & acquis

Vérifier le comportement de l'API et documenter son contrat.

Weather API m'a permis de travailler autant l'implémentation que le contrat exposé : routes, erreurs, validation, persistance, documentation et comportements vérifiés par 12 tests utilisant le module natif de Node.js.

CollaborationPair programming
DocumentationSwagger / OpenAPI
Qualité12 tests
Retour aux projets