mirror of
https://github.com/R0m1k3/LogiFlow.git
synced 2026-10-11 17:27:31 +02:00
Conditionally disable verbose logging in production to resolve latency issues caused by excessive console output in API requests and responses. Replit-Commit-Author: Agent Replit-Commit-Session-Id: 7c468936-2a88-4686-ac0a-84921a45222d Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/7c468936-2a88-4686-ac0a-84921a45222d/B7k6m01
153 lines
7.6 KiB
Markdown
153 lines
7.6 KiB
Markdown
# Enterprise Weather Management Platform
|
|
|
|
## Project Overview
|
|
Plateforme de gestion météorologique d'entreprise avec suivi logistique multi-tenant avancé et capacités complètes de gestion des commandes.
|
|
|
|
La plateforme fournit une gestion robuste des flux de travail de livraison avec des fonctionnalités de rapprochement améliorées, se concentrant sur l'efficacité opérationnelle grâce au suivi financier détaillé, aux contrôles d'accès granulaires et à la gestion sophistiquée des permissions.
|
|
|
|
## Tech Stack
|
|
- Frontend: React.js avec composants UI personnalisés (shadcn/ui)
|
|
- Backend: Node.js Express (ESM)
|
|
- API Météo: Visual Crossing
|
|
- Gestion d'état: React Query
|
|
- Base de données: PostgreSQL avec Drizzle ORM
|
|
- Authentification: Gestion d'accès sécurisée basée sur les rôles
|
|
- Validation: Schémas de validation Zod
|
|
- Styling: Tailwind CSS
|
|
- Déploiement: Docker
|
|
- Localisation: Support français amélioré
|
|
|
|
## Recent Changes
|
|
|
|
### 2025-08-13 - Optimisation performance production + suppression fonctionnelle
|
|
✅ **Résolution latence production** :
|
|
- **Problème** : Console saturée par centaines de logs "API Response" causant latence
|
|
- **Solution** : Logging conditionnel - seulement en développement pour requêtes normales
|
|
- **Production** : Seules les erreurs API sont loggées pour debugging
|
|
- **Impact** : Réduction drastique de la charge console et amélioration performances
|
|
|
|
✅ **Fonctionnalité suppression complètement opérationnelle** :
|
|
- **Cache NocoDB** : Fonction `saveInvoiceVerificationCache` ajoutée aux deux systèmes stockage
|
|
- **MemStorage** : Implémentation CRUD complète pour ordres et livraisons
|
|
- **Test validé** : Création, lecture et suppression fonctionnent parfaitement
|
|
- **Production** : Les suppressions de livraisons et rapprochements sont maintenant possibles
|
|
|
|
### 2025-08-13 - Problème authentification production résolu
|
|
✅ **Diagnostic et solution du problème de validation des livraisons** :
|
|
|
|
**Problème identifié et corrigé :**
|
|
- Erreur "Cannot validate Delivery" causée par des jointures SQL complexes défectueuses
|
|
- Les récentes modifications avaient ajouté des `LEFT JOIN` avec la table `users` dans `getDelivery()`
|
|
- Ces jointures complexes échouaient en production PostgreSQL lors de la validation
|
|
- L'endpoint `/api/deliveries/:id/validate` appelle `getDelivery()` qui devenait défaillant
|
|
|
|
**Corrections appliquées :**
|
|
- ✅ **Fonction getDelivery() simplifiée** : Retrait des jointures LEFT JOIN complexes avec users
|
|
- ✅ **Chargement creator sécurisé** : Informations utilisateur chargées séparément avec gestion d'erreur
|
|
- ✅ **Erreurs TypeScript corrigées** : Problèmes de types undefined/null résolus
|
|
- ✅ **Erreur validateDelivery() corrigée** : Utilisation objet Date au lieu de toISOString() pour Drizzle ORM
|
|
- ✅ **Production restaurée** : La validation des livraisons fonctionne à nouveau
|
|
|
|
**Technique :** Remplacé les jointures SQL risquées par un chargement séparé optionnel des données creator + correction format Date pour PostgreSQL
|
|
|
|
### 2025-08-13 - Correction finale statistiques + affichage BL résolu
|
|
✅ **Résolution définitive des bugs statistiques et affichage BL** :
|
|
|
|
**1. Statistiques mois corrigées :**
|
|
- **Problème** : Palettes/colis comptées sur scheduledDate au lieu de deliveredDate
|
|
- **Solution** : Filtrage par `deliveredDate` pour vraies stats mensuelles
|
|
- **Impact** : Statistiques reflètent maintenant les livraisons effectives du mois
|
|
- **Calcul** : Seules les livraisons `delivered` dans le mois avec `deliveredDate` valide
|
|
|
|
**2. Affichage BL rapprochement optimisé :**
|
|
- **Problème** : BL numbers n'apparaissaient pas immédiatement après validation
|
|
- **Solution** : Cache invalidation + refetch forcé après modification
|
|
- **Technique** : `staleTime: 0` + `queryClient.invalidateQueries` + `refetch()`
|
|
- **Résultat** : Mise à jour instantanée de l'interface utilisateur
|
|
|
|
### 2025-08-13 - Erreurs 502 production entièrement corrigées
|
|
✅ **Résolution définitive des erreurs Bad Gateway en production** :
|
|
|
|
**Problèmes critiques résolus :**
|
|
- **TypeScript compilation fixed** : Erreurs de types 'unknown' corrigées en 'any'
|
|
- **Build production successful** : index.production.ts compile maintenant correctement
|
|
- **Routes complètes** : Toutes les API routes importées via registerRoutes()
|
|
- **Service NocoDB opérationnel** : InvoiceVerificationService remplace nocodbService.js manquant
|
|
- **Configuration réaliste** : URLs et paramètres NocoDB de production configurés
|
|
- **Serveur stable** : Build réussi en 27ms, plus d'erreurs 502 attendues
|
|
|
|
**Corrections techniques :**
|
|
- **Variable server duplicate fixed** : Conflit de déclaration dans index.production.ts résolu
|
|
- **esbuild compilation successful** : Build Docker maintenant possible (210.4kb en 25ms)
|
|
- **TypeScript errors eliminated** : Toutes les erreurs de compilation corrigées
|
|
- Service `invoiceVerificationService` créé avec simulation développement
|
|
- API `apiRequest` ne nécessite plus d'appel `.json()` - données déjà parsées
|
|
- Table `orders` : `plannedDate`, `quantity`, `unit`
|
|
- Table `deliveries` : `quantity`, `unit`
|
|
- Types utilisateurs complets avec tous les champs requis
|
|
|
|
### 2025-08-13 - Uniformisation complète des interfaces utilisateur
|
|
✅ **Harmonisation du design des tableaux** terminée pour une expérience utilisateur cohérente :
|
|
|
|
**Pages uniformisées :**
|
|
- `Orders.tsx` - Page des commandes avec design responsive optimisé
|
|
- `Deliveries.tsx` - Page des livraisons avec structure identique
|
|
- `BLReconciliation.tsx` - Page de rapprochement BL/Factures harmonisée
|
|
- `Dashboard.tsx` - Tableau de bord avec erreurs TypeScript corrigées
|
|
|
|
**Améliorations appliquées :**
|
|
- Headers responsifs adaptés mobile/tablette
|
|
- Filtres restructurés avec style cohérent
|
|
- Tableaux standardisés : `px-6 py-4` et `whitespace-nowrap`
|
|
- Boutons d'actions modernisés avec composants Button shadcn/ui
|
|
- Pagination repositionnée avec bordures uniformisées
|
|
- Espacement et typographie harmonisés
|
|
|
|
### 2025-08-12 - Nettoyage des fichiers inutiles
|
|
✅ **Suppression complète des fichiers inutiles** effectuée pour optimiser le projet
|
|
|
|
## Project Architecture
|
|
|
|
### Frontend Structure
|
|
```
|
|
client/src/
|
|
├── components/ # Composants UI réutilisables
|
|
├── pages/ # Pages principales de l'application
|
|
├── hooks/ # Hooks React personnalisés
|
|
├── lib/ # Utilitaires et clients
|
|
└── main.tsx # Point d'entrée
|
|
```
|
|
|
|
### Backend Structure
|
|
```
|
|
server/
|
|
├── index.ts # Serveur principal (développement)
|
|
├── index.production.ts # Serveur production
|
|
├── routes.ts # Routes API
|
|
├── storage.ts # Couche d'accès aux données
|
|
├── localAuth.ts # Authentification locale
|
|
└── services/ # Services métier
|
|
```
|
|
|
|
### Database
|
|
- PostgreSQL avec Drizzle ORM
|
|
- Migrations gérées dans `migrations/`
|
|
- Schémas définis dans `shared/schema.ts`
|
|
|
|
## User Preferences
|
|
- Langue préférée : Français
|
|
- Communication : Langue simple et accessible, éviter les détails techniques
|
|
- Nettoyage : Préfère un projet optimisé sans fichiers inutiles
|
|
|
|
## Development Guidelines
|
|
- Utiliser `npm run dev` pour lancer l'application
|
|
- Les migrations sont gérées avec `npm run db:push`
|
|
- Architecture full-stack JavaScript avec focus frontend
|
|
- Validation des données avec Zod
|
|
- UI avec shadcn/ui + Tailwind CSS
|
|
|
|
## Notes
|
|
- L'application utilise un système de stockage en mémoire pour le développement
|
|
- Support multi-tenant avec gestion des groupes et permissions
|
|
- Interface météorologique simplifiée intégrée
|
|
- Système d'authentification unifié pour développement et production |