Skip to content

capigit/pme

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PME Sales Analytics

Pipeline ETL conteneurisé · Dashboard interactif · Zéro configuration

De la donnée brute à la visualisation en une seule commande


Python Docker SQLite Chart.js License


Vue d'ensemble

PME Sales Analytics est un pipeline de traitement de données bout en bout, entièrement conteneurisé. Il ingère des fichiers CSV, initialise une base SQLite, exécute des analyses de chiffre d'affaires et alimente un dashboard HTML interactif — sans aucune dépendance locale autre que Docker.


Chiffre d'affaires total Produits analysés Villes couvertes
5 268,78 € 5 7

Pipeline

  CSV Files                 SQLite                   Outputs
─────────────          ──────────────          ─────────────────────
 produits.csv  ──┐     ┌────────────┐          ┌── resultats.json
 magasins.csv  ──┼────►│  sales.db  │─────────►├── resultats.txt
 ventes.csv    ──┘     └────────────┘          └── data.js ──► Dashboard

# Script Responsabilité
1 init_db.py Création de la base et des tables
2 import_data.py Chargement des CSV sans doublons
3 analyze.py Analyses SQL stockées en base
4 generate_report.py Export JSON · TXT · JS

Architecture

┌─────────────────────────────────────────────────────────────┐
│                       Docker Compose                        │
│                                                             │
│   ┌─────────────────────┐       ┌──────────────────────┐   │
│   │    script-runner    │       │      sqlite-db       │   │
│   │  ─────────────────  │       │  ────────────────    │   │
│   │  Python 3.10-slim   │◄─────►│  nouchka/sqlite3     │   │
│   │  pandas · requests  │       │  /data/sales.db      │   │
│   └─────────────────────┘       └──────────────────────┘   │
│                  │                                          │
│                  ▼                                          │
│          ./data/  (volume bind-mount)                       │
└─────────────────────────────────────────────────────────────┘

Structure du projet

pme/
│
├── dashboard/                   # Visualisation
│   ├── index.html               # Structure HTML
│   ├── css/
│   │   └── style.css            # Styles
│   └── js/
│       ├── utils.js             # Constantes partagées
│       ├── kpis.js              # Injection KPIs & classement
│       ├── charts.js            # Graphiques Chart.js
│       └── app.js               # Point d'entrée
│
├── script-runner/               # Pipeline ETL
│   ├── data/                    # Sources CSV
│   │   ├── produits.csv
│   │   ├── magasins.csv
│   │   └── ventes.csv
│   ├── sql/
│   │   └── analyses.sql         # Requêtes de vérification
│   ├── config.py                # Chemins centralisés
│   ├── queries.py               # Requêtes SQL partagées
│   ├── db_utils.py              # Helper d'insertion
│   ├── init_db.py               # Étape 1
│   ├── import_data.py           # Étape 2
│   ├── analyze.py               # Étape 3
│   ├── generate_report.py       # Étape 4
│   ├── run_sql_analyses.py      # Utilitaire de vérification
│   ├── main.py                  # Orchestrateur
│   └── Dockerfile
│
├── data/                        # Sorties générées (non versionné)
├── docker-compose.yml
└── README.md

Démarrage rapide

Pré-requis

Docker Desktop — aucune autre dépendance requise.

Lancer le projet

git clone https://github.com/capigit/pme.git
cd pme
docker compose up --build

Le pipeline complet s'exécute automatiquement et produit les fichiers dans data/.

Visualiser le dashboard

# Ouvrir directement dans le navigateur — aucun serveur requis
open dashboard/index.html        # macOS
xdg-open dashboard/index.html   # Linux
start dashboard/index.html      # Windows

Commandes

Rejouer une étape spécifique
docker compose run script-runner python main.py init      # Initialiser la base
docker compose run script-runner python main.py import    # Importer les CSV
docker compose run script-runner python main.py analyze   # Lancer les analyses
docker compose run script-runner python main.py report    # Générer les rapports
docker compose run script-runner python main.py all       # Pipeline complet
Vérification des résultats

Via script Python

docker compose run script-runner python run_sql_analyses.py

Via console SQLite

docker exec -it sqlite-db sh
sqlite3 /data/sales.db

Les requêtes de référence sont disponibles dans script-runner/sql/analyses.sql.


Stack technique

Couche Technologie Rôle
Conteneurisation Docker · Docker Compose Isolation & portabilité
Runtime Python 3.10 Traitement du pipeline
Base de données SQLite 3 Stockage & analyses
Traitement données pandas Import & transformation CSV
Visualisation Chart.js · HTML · CSS Dashboard interactif

Distribué sous licence MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors