PFEE/dashboard-sqdc/DATABASE_SETUP.md
paul.roost ca05e334a7 feat: Implement server-side API for categories, KPIs, and measurements
- 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.
2025-10-21 13:31:14 +02:00

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