Retour catalogue
Intermédiaire~14 htransformationstoragesoftware engineering dataops

Star schema Kimball avec intégrité prouvée en CI

Projet que les boîtes te font passer en entretien. Sans piège du grain qui te coule.

Contexte

Tu vas modéliser un schéma en étoile Kimball complet sur une boîte e-commerce fictive. Cinq dimensions (customer, product, channel, country, date), deux tables de faits à grains différents (`fct_order_lines` au grain ligne, `fct_returns` au grain commande). C'est le projet qui teste si tu comprends VRAIMENT conformité des dimensions cross-grain,chose que 80 % des candidats fumblent en entretien.

Tu pars de 7 tables bronze, tu écris ton staging dbt, puis tes marts. CI valide que la même `dim_customer` est joignable depuis les deux faits, que ton grain est unique sur la natural key, que tes rôles de date (`order_date`, `ship_date`) sont câblés sur la même `dim_date`, et que ton ADR explique pourquoi tu n'es pas parti en One Big Table.

Tu ressors avec un repo dbt qui peut servir de référence sur ton CV, et confiance de savoir défendre ton choix d'architecture en interview.

Architecture

Stack et flow du projet

Loading diagram…

Ce que tu vas livrer

  • 5 modèles dim + 2 modèles fct dbt, plus 7 staging, plus 3 singular tests
  • `_schema.yml` avec tests `unique`/`not_null`/`relationships` sur les FK
  • ADR `docs/adr/001-star-vs-snowflake-vs-obt.md` qui justifie le choix
  • `dbt build` qui passe vert + `sqlfluff` qui ne crache pas

Ce que CI vérifie

  • ADR existe et n'est pas placeholder vide
  • Les 6 FK attendues (4 dims + 2 date roles) sont déclarées dans `_schema.yml` avec `relationships`
  • `sqlfluff lint` passe sans warning sur tous les modèles
  • `dbt build` passe vert (tous tests inclus)
  • Grain de `fct_order_lines` est unique sur `(order_id, line_number)`,duplicate = échec
  • `dim_customer` est joignable depuis `fct_order_lines` ET `fct_returns` sur la même surrogate key

Prérequis

  • SQL solide (CTE, window functions, agrégations multi-niveaux)
  • dbt basique (modèles, sources, tests generic),ou volonté d'apprendre vite
  • Lecture recommandée : Kimball Ch. 1-3 (projet en bouffe la moitié)

Comment ça marche

  1. 01

    Tu cliques « Commencer »

    On forke template sur ton compte GitHub. Aucune install locale, aucun Docker à débugger.

  2. 02

    Tu codes dans GitHub Codespaces

    VS Code dans ton navigateur, prêt à l'emploi : DBs locales, dépendances Python, tout dans devcontainer. 60h/mois gratuits chez GitHub.

  3. 03

    Tu pushes, CI te répond

    GitHub Actions exécute rubrique. Vert = validé. Rouge = chaque check échoué te dit ce qui manque, en français.

Information précontractuelle

  • Vendeur : Merta
  • Prix : 39 € TTC, franchise de TVA
  • Livraison : numérique, immédiate après paiement
  • Droit de rétractation : exclu après début d'exécution, voir case à cocher
  • Paiement sécurisé via Stripe

Achat soumis aux CGV.