Logo Lanfrica

Joe-Wando/backend-HACKATHON

Domain:

environment and energy

Record type:

software
Creator:
Joe
Host:
Ceci est le backend de notre projet # Meredian Backend API de veille des inondations au Sénégal — NestJS + PostgreSQL (TypeORM). Suit le niveau d'eau par zone via des capteurs, calcule la gravité (`sec` / `vigilance` / `alerte` / `critique`), gère les épisodes de crue, les alertes et les diffusions, et expose des vues dérivées (impacts, veille sanitaire, mobilité) pour le frontend. ## Prérequis - Node.js 20+ - Docker (pour PostgreSQL en local) ## Lancement local ```bash npm install cp .env.example .env # ajuster si besoin (voir Variables d'environnement) docker compose up -d # démarre PostgreSQL npm run start:dev # API sur localhost ``` En développement (`NODE_ENV=development`), TypeORM crée automatiquement le schéma en base au démarrage (`synchronize: true`) — aucune migration à jouer manuellement. ## Docker Compose `docker-compose.yml` démarre uniquement PostgreSQL (l'API tourne en local, pas en conteneur, pour profiter du hot-reload de `start:dev`) : ```bash docker compose up -d # démarrer docker compose ps # statut docker compose down # arrêter (les données persistent dans le volume) docker compose down -v # arrêter et supprimer les données ``` Le port hôte publié est **5434** (pas 5432), pour éviter les conflits avec une éventuelle instance PostgreSQL déjà présente sur la machine — vérifie `docker-compose.yml` / `.env` si tu changes cette valeur. ## Peupler la base (seed) ```bash npm run seed ``` Crée 2 régions (Dakar, Kaolack), 4 zones avec leurs capteurs, relais, 7 jours de mesures et leurs épisodes de crue. **Idempotent** : ne fait rien si des zones existent déjà en base. Capteurs créés (clé API à passer dans l'en-tête `X-Sensor-Key` pour `POST /ingest`) : | Zone | Capteur | Clé API | | ----------------- | ------- | ---------------- | | yeumbeul-nord | YN-02 | `dev-yn-02-key` | | malika | MK-01 | `dev-mk-01-key` | | keur-massar-sud | KM-05 | `dev-km-05-key` | | kaolack-cent …

Languages