- Added Express server with SQLite database connection. - Created API endpoints to fetch categories, KPIs, measurements, and statistics. - Implemented error handling for database operations. feat: Create ChartModal component for visualizing KPI data - Developed ChartModal to display line charts for KPI measurements. - Integrated Chart.js for rendering charts with responsive design. - Added styling for modal and chart components. feat: Add ExportModal component for exporting KPI data - Implemented ExportModal to allow users to select data ranges for export. - Included radio buttons for predefined time ranges (last week, month, year, all data). - Styled modal for better user experience. feat: Introduce RangeChartModal for dynamic range selection - Created RangeChartModal to visualize KPI data over user-selected time ranges. - Integrated radio buttons for selecting different time ranges. - Enhanced chart rendering with Chart.js. refactor: Create useSQLiteDatabase hook for data fetching - Developed custom hook to manage fetching categories, KPIs, and measurements. - Improved error handling and loading states for better user feedback. style: Add CSS styles for modals and charts - Created styles for ChartModal, ExportModal, and RangeChartModal. - Ensured responsive design for various screen sizes.
1.2 KiB
1.2 KiB
Instructions de configuration
1. Créer la base de données SQLite
Exécute le script Python pour peupler la base de données sur 1 an:
cd /home/paul/PFEE/dashboard-sqdc
python3 database/populate_db.py
Cela va créer database/sqdc.db avec:
- ✅ Toutes les catégories
- ✅ Les 21 KPIs avec leurs fréquences
- ✅ 1 an de mesures (365 jours minimum)
2. Installer les dépendances Node
npm install express sqlite3 sqlite cors
npm install -D @types/express @types/node
3. Lancer le serveur
npm run server
4. Configurer React
Le dashboard React se connectera à http://localhost:3001/api
Fréquences des mesures:
- per_10min: Toutes les 10 minutes (qualité, délais)
- per_30min: Toutes les 30 minutes (rendement)
- hourly: Toutes les heures (délais, coûts)
- daily: Quotidiennement (sécurité, coûts, maintenance)
- weekly: Hebdomadairement (audits, maintenance)
- per_3days: Tous les 3 jours (maintenance)
Base de données
La structure SQLite est logique:
- Chaque mesure a une date précise
- Les KPI ont une fréquence définie
- Les mesures sont filtrables par plage de temps