Plateforme professionnelle de surveillance de la qualité des données avec dashboard interactif, rapports automatisés et API REST
- Frontend Dashboard: data-quality-dashboard.netlify.app
- Backend API:
http://localhost:5001/api/quality-summary⏳ - Source Code: GitHub Repository
- Monitoring en direct des KPI de qualité des données
- Visualisations interactives avec Chart.js
- Métriques calculées automatiquement
- Interface responsive Material-UI
- Validation de complétude des données
- Détection d'anomalies en temps réel
- Vérification des contraintes d'intégrité
- Historique des contrôles exécutés
- Export PDF avec mise en forme avancée
- Génération de fichiers Excel/CSV
- Rapports personnalisables par période
- Emailing automatique des rapports
- Endpoints RESTful pour l'intégration
- Documentation Swagger intégrée
- Authentification JWT (optionnel)
- Logs détaillés d'activité
Vue d'ensemble des indicateurs clés avec graphiques interactifs et métriques en temps réel.
Détail des métriques de qualité par colonne avec statuts PASS/WARNING/FAIL et tendances historiques.
Tableau des anomalies identifiées avec priorité, statut et actions correctives recommandées.
Visualisation des données brutes avec filtrage, tri et recherche avancée.
data-quality-monitoring/
├── 📁 frontend/ # Application React Dashboard
│ ├── 📁 src/components/ # Composants réutilisables
│ ├── 📁 src/pages/ # Pages principales
│ ├── 📁 src/services/ # Appels API
│ └── 📁 src/utils/ # Utilitaires
├── 📁 backend/ # API Python Flask
│ ├── app.py # Application principale
│ ├── requirements.txt # Dépendances Python
│ ├── 📁 database/ # Configuration DB
│ ├── 📁 models/ # Modèles de données
│ └── 📁 routes/ # Routes API
├── 📁 database/ # Scripts MySQL
│ ├── schema.sql # Structure de base
│ └── seed.sql # Données de test
└── 📁 screenshots/ # Captures d'écran
| Composant | Technologies |
|---|---|
| Frontend | React 18, Material-UI, Chart.js, jsPDF, Axios |
| Backend | Python Flask, MySQL Connector, Flask-CORS |
| Base de Données | MySQL 8.0, Indexation avancée |
| DevOps | Netlify, Railway, Git, GitHub Actions |
| Monitoring | Logging personnalisé, Métriques temps réel |
- Node.js 18+ et npm
- Python 3.10+
- MySQL 8.0+
git clone https://github.com/YOUSSEF-BT/Data-Quality-Monitoring.git
cd data-quality-monitoringcd backend
pip install -r requirements.txt
# Configurer .env avec vos paramètres MySQL
python app.pycd frontend
npm install
npm start- Frontend : http://localhost:3000
- Backend API : http://localhost:5001
- API Docs : http://localhost:5001/api-docs
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /api/quality-summary |
Résumé dashboard |
| GET | /api/quality-metrics |
Métriques détaillées |
| GET | /api/anomalies |
Liste anomalies |
| GET | /api/sales-data |
Données brutes |
| POST | /api/run-checks |
Exécuter contrôles |
| GET | /api/export/pdf |
Générer PDF |
Exemple de requête :
curl -X GET "http://localhost:5001/api/quality-summary"- Build :
npm run build - Déployer dossier
build/sur Netlify - Variables d'environnement :
REACT_APP_API_URL=https://votre-api.railway.app
- Créer
Procfile:web: gunicorn app:app - Push sur GitHub
- Railway détecte automatiquement Python + MySQL
- Configurer variables d'environnement
- Railway fournit MySQL gratuitement
- Exécuter
schema.sql - Configurer connexion dans variables d'environnement
Votre API retourne des données réalistes :
{
"success_rate": 69,
"passed_checks": 69,
"failed_checks": 31,
"total_anomalies": 50,
"metrics": [
{"name": "Complétude", "value": 85, "target": 90},
{"name": "Exactitude", "value": 78, "target": 85},
{"name": "Cohérence", "value": 92, "target": 95}
]
}- Secteur Financier : Validation des transactions
- Santé : Qualité des données patients
- E-commerce : Cohérence des produits
- Logistique : Traçabilité des données
- ✅ Temps réel : Monitoring immédiat
- ✅ Automatisé : Réduit l'effort manuel
- ✅ Scalable : Gère des millions d'enregistrements
- ✅ Rapports : Export PDF/Excel professionnels
- Fork le projet
- Créer une branche (
git checkout -b feature/AmazingFeature) - Commit vos changements (
git commit -m 'Add AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
Distribué sous licence MIT. Voir LICENSE pour plus d'informations.
Youssef - Data Scientist & Full-Stack Developer
- Email : bt.youssef.369@gmail.com
- GitHub : github.com/YOUSSEF-BT
- LinkedIn : in/youssef-bt-74863239b
Si vous trouvez ce projet utile, pensez à :
- ⭐ Star le repository sur GitHub
- 🔗 Partager avec vos collègues
- 🐛 Signaler les issues
- 💡 Proposer des améliorations
Pour toute question ou collaboration :
- Email : bt.youssef.369@gmail.com
- GitHub Issues : Nouvelle Issue
- LinkedIn : Message Privé
✨ Fait avec ❤️ pour la communauté Data Quality
Dernière mise à jour : Décembre 2025