Ce projet fournit une solution automatisée pour le cycle de vie des données de ventes du dataset Superstore. Il transforme un fichier CSV plat en une base de données relationnelle normalisée (3NF) et génère des rapports d'analyse décisionnelle.
Le projet est structuré de manière modulaire pour faciliter la maintenance et l'évolution des composants.
Superstore-Project
├── main.py # Orchestrateur du pipeline (Nettoyage -> Rapport)
├── src/ # Code source du projet
│ ├── cleaning/ # Moteur d'ETL (read_clean_data.py, fun.py)
│ ├── visual/ # Analytique Visuelle (graphes.py)
│ ├── reporting/ # Génération de rapports Word (rapport.py)
│ └── database/ # Couche de Persistance
│ ├── db_main.py # Script d'orchestration de la base de données
│ ├── create_tables.py # Définition du schéma SQL (SQLAlchemy)
│ ├── split_csv.py # Logique de normalisation
│ ├── check_uniqueness.py # Validation d'intégrité
│ ├── db_connection.py # Gestionnaire de connexion
│ └── config.py # Configuration des variables d'environnement
├── data/ # Stockage des données
│ ├── raw/ # Données sources (store.csv)
│ ├── processed/ # Résultats du nettoyage et graphiques
│ └── sql_splits/ # fichiers CSV normalisés pour SQL
├── docs/ # Documentation et livrables
│ ├── presentations/ # Supports de présentation PPTX
│ ├── img/ # Diagrammes Merise (MCD, MLD, 3NF)
│ └── reports/ # Rapports BI générés (.docx)
├── tests/ # Suite de tests
├── .env # Configuration locale (ignore par Git)
├── requirements.txt # Liste des dépendances
└── README.md # Documentation principale
L'architecture de la base de données repose sur une modélisation relationnelle stricte.
pip install -r requirements.txtConfigurez vos identifiants PostgreSQL dans le fichier .env à la racine :
DB_USER=votre_utilisateur
DB_PASSWORD=votre_mot_de_passe
DB_HOST=localhost
DB_PORT=5432
DB_NAME=superstore_dbTraitement des données brutes, calcul des KPIs et génération du rapport Word.
python main.pyNormalisation des données et injection dans la base de données.
python -m src.database.db_main- Langage : Python 3.x
- Manipulation de données : Pandas
- ORM & Database : SQLAlchemy, PostgreSQL
- Reporting : Python-docx
- Visualisation : Matplotlib
- Configuration : Python-dotenv
- Développeur : Soubi Charaf
- Organisation : Simplon Data Project.


