Description du projet
TraduitLe travail principal est un pipeline ETL qui extrait des données de MySQL, les nettoie et les agrège, et les charge dans PostgreSQL, avec des tables de faits et de dimensions bien conçues pour analyser les événements, les utilisateurs et les revenus. En plus de cela, nous avons besoin de tâches planifiées — agrégations quotidiennes et horaires via cron ou Airflow — et d'un tableau de bord dans Grafana ou Metabase connecté à PostgreSQL. Les métriques qui comptent pour nous sont DAU, MAU, rétention, ARPU et conversion d'entonnoir, et nous avons également besoin de contrôles automatiques de la qualité des données (comptage des lignes et validation des valeurs nulles) afin que nous puissions faire confiance au tableau de bord.
La pile est orientée vers Python, et tout doit être mis en place via Docker Compose pour un environnement local propre, afin qu'après la remise, nous puissions exécuter et étendre le pipeline nous-mêmes.
Composants :
— 1. ETL — extraction de MySQL, transformation (nettoyage, agrégation), chargement dans PostgreSQL
— 2. Modèles de données — tables de faits/dimensions pour analyser les événements, les utilisateurs, les revenus
— 3. Planificateur — agrégations quotidiennes/horaires (cron ou Airflow)
— 4. Tableau de bord — Grafana ou Metabase connecté à PostgreSQL
— 5. KPI — DAU, MAU, rétention, ARPU, conversions d'entonnoir
— 6. Contrôle de la qualité des données — comptage des lignes et vérifications des valeurs nulles
Pile :
— Python 3 (pandas, SQLAlchemy, psycopg2)
— PostgreSQL
— Grafana ou Metabase
— Docker Compose pour déploiement local