Claude 94e82aa404 fix(ff): le panneau API FF Nancy affichait une coquille vide + URL configurable
Deux problèmes distincts, dont un mal diagnostiqué au départ.

1. FORMAT DE RÉPONSE — cause réelle du « test ne donne rien ». Le serveur
   fonctionne (vérifié : HTTP 200, synchro du jour, 33 tables), mais il renvoie
   { sync: [{ table_name, last_sync, rows_synced, status, error_msg }] } alors
   que l'application lisait { lastSync, tables: [{ nom, derniereSync, nbLignes }] }.
   Les champs n'existaient pas : le panneau s'affichait vide sans erreur, la
   requête HTTP ayant réussi. normalizeSyncStatus() traduit désormais les deux
   formes, et le tableau expose l'état par table (une table en erreur est
   justement l'information qu'on vient chercher).

2. URL NON CONFIGURABLE. FF_API_BASE était figée au chargement du module depuis
   process.env, sans champ dans l'interface : impossible de corriger l'adresse
   sans redéployer. Elle est maintenant résolue à l'appel — réglage enregistré,
   puis variable d'environnement, puis défaut — avec un champ, un bouton
   Enregistrer et un test dans Paramètres.

Le test distingue désormais DNS, connexion refusée, délai dépassé et code HTTP,
et affiche l'adresse réellement appelée : un « HTTP 503 » nu ne permettait pas
de séparer une mauvaise URL d'une panne. /api/ff-status renvoie le même détail.

Ajout au passage du paramètre `compute` dans la doc API des Paramètres.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y26nRZxTR57K7h8yqsF675
2026-08-06 10:56:29 +00:00

CollectFlow

CollectFlow est une application de révision d'assortiment et d'analyse de performances des produits en point de vente, conçue pour consolider les données issues de plusieurs fournisseurs et magasins.

Prérequis

  • Node.js 18+ (pour le développement local)
  • Docker et Docker Compose (pour le déploiement conteneurisé)
  • PostgreSQL 16+

Lancer avec Docker

Le projet est configuré pour tourner dans un conteneur Docker optimisé (mode standalone de Next.js). Note : Vous devez disposer d'une base de données PostgreSQL séparée (le conteneur ne lance que l'application web).

1. Démarrer l'application

À la racine du projet, lancez :

npm run docker:build
# ou directement
docker-compose up -d --build

L'application sera accessible sur http://localhost:5643.

L'application sera attachée au réseau Docker externe nginx_default afin d'être exposée derrière votre reverse proxy Nginx. Assurez-vous que ce réseau existe (docker network create nginx_default).

2. Arrêter l'application

npm run docker:down
# ou directement
docker-compose down

Développement Local (Sans Docker)

Si vous préférez développer en local, vous devrez configurer votre propre base de données PostgreSQL.

  1. Installer les dépendances :
npm install
  1. Configurer la connexion DB : Allez sur la page des Paramètres (/settings) dans l'application pour configurer l'accès à votre PostgreSQL local.

  2. Lancer le serveur de développement :

npm run dev

Structure du Projet (BMAD)

Ce projet respecte l'architecture BMAD (Business, Model, Application/API, Data) :

  • src/features/* : Logique métier (Business) isolée par feature (ex: grid, snapshots)
  • src/types/* : Interfaces TypeScript (Model)
  • src/app/* : Routeurs Next.js UI et endpoints d'API (Application/API)
  • src/db/* : Schémas Drizzle ORM et connexions (Data)
S
Description
No description provided
Readme
4.6 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 93.9%
JavaScript 3.6%
HTML 1.4%
CSS 1%
Dockerfile 0.1%