# muliroz/cinedata architecture

> Architecture diagram of the GitHub repository muliroz/cinedata, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-25). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/muliroz/cinedata
- Repository: https://github.com/muliroz/cinedata

## Overview

CineData is a Databricks data-engineering pipeline for preparing movie-industry data for analysis and GenAI use. Its principal workflow is CSV and PTAX ingestion into Bronze, cleaning and enrichment into Silver, then dimensional modeling into Gold. Gold includes movie dimensions, many-to-many bridges, a performance fact, and a Portuguese context document for LLM/RAG. The README documents these stages and outputs; the sampled source does not include notebook code, so the diagram reflects documented behavior rather than inspected implementation details.

Main entry points: [`notebooks/Silver_to_Gold.ipynb`](https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb) (Gold modeling), [`notebooks/Landing_to_Bronze.ipynb`](https://github.com/muliroz/cinedata/blob/main/notebooks/Landing_to_Bronze.ipynb) (Landing ingestion), [`notebooks/Bronze_to_Silver.ipynb`](https://github.com/muliroz/cinedata/blob/main/notebooks/Bronze_to_Silver.ipynb) (Silver curation), [`input_files`](https://github.com/muliroz/cinedata/tree/main/input_files) (Movie CSVs)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_ingestion["Landing to Bronze"]
  node_landing_bronze["Landing ingestion"]
  node_bronze_tables[("Bronze Delta tables")]
end

subgraph group_curation["Bronze to Silver"]
  node_bronze_silver["Silver curation"]
  node_silver_tables[("Silver Delta tables")]
end

subgraph group_modeling["Silver to Gold"]
  node_silver_gold["Gold modeling"]
end

subgraph group_gold_outputs["Gold outputs"]
  node_dimensions[("Movie dimensions")]
  node_bridges[("Relationship bridges")]
  node_performance_fact[("Performance fact")]
  node_genai_context[("GenAI context")]
end

node_movie_csvs["Movie CSVs"]
node_ptax_api(("PTAX API"))

node_movie_csvs -->|"reads CSVs"| node_landing_bronze
node_ptax_api -->|"fetches rates"| node_landing_bronze
node_landing_bronze -->|"appends data"| node_bronze_tables
node_bronze_tables -->|"reads Bronze"| node_bronze_silver
node_bronze_silver -->|"writes cleaned data"| node_silver_tables
node_silver_tables -->|"reads Silver"| node_silver_gold
node_silver_gold -->|"writes dimensions"| node_dimensions
node_silver_gold -->|"writes bridges"| node_bridges
node_silver_gold -->|"writes fact"| node_performance_fact
node_dimensions -->|"provides movie data"| node_genai_context
node_performance_fact -->|"provides metrics"| node_genai_context
node_bridges -->|"provides people links"| node_genai_context
node_silver_gold -->|"generates document"| node_genai_context

click node_movie_csvs "https://github.com/muliroz/cinedata/tree/main/input_files"
click node_landing_bronze "https://github.com/muliroz/cinedata/blob/main/notebooks/Landing_to_Bronze.ipynb"
click node_bronze_tables "https://github.com/muliroz/cinedata/blob/main/notebooks/Landing_to_Bronze.ipynb"
click node_bronze_silver "https://github.com/muliroz/cinedata/blob/main/notebooks/Bronze_to_Silver.ipynb"
click node_silver_tables "https://github.com/muliroz/cinedata/blob/main/notebooks/Bronze_to_Silver.ipynb"
click node_silver_gold "https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb"
click node_dimensions "https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb"
click node_bridges "https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb"
click node_performance_fact "https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb"
click node_genai_context "https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_landing_bronze,node_bronze_tables toneBlue
class node_bronze_silver,node_silver_tables toneAmber
class node_silver_gold,node_ptax_api toneMint
class node_dimensions,node_bridges,node_performance_fact,node_genai_context toneRose
class node_movie_csvs toneTeal
```

## Components

### Landing to Bronze

- [Landing ingestion](https://github.com/muliroz/cinedata/blob/main/notebooks/Landing_to_Bronze.ipynb): `notebooks/Landing_to_Bronze.ipynb`
- [Bronze Delta tables](https://github.com/muliroz/cinedata/blob/main/notebooks/Landing_to_Bronze.ipynb): `notebooks/Landing_to_Bronze.ipynb`

### Bronze to Silver

- [Silver curation](https://github.com/muliroz/cinedata/blob/main/notebooks/Bronze_to_Silver.ipynb): `notebooks/Bronze_to_Silver.ipynb`
- [Silver Delta tables](https://github.com/muliroz/cinedata/blob/main/notebooks/Bronze_to_Silver.ipynb): `notebooks/Bronze_to_Silver.ipynb`

### Silver to Gold

- [Gold modeling](https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb): `notebooks/Silver_to_Gold.ipynb`

### Gold outputs

- [Movie dimensions](https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb): `notebooks/Silver_to_Gold.ipynb`
- [Relationship bridges](https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb): `notebooks/Silver_to_Gold.ipynb`
- [Performance fact](https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb): `notebooks/Silver_to_Gold.ipynb`
- [GenAI context](https://github.com/muliroz/cinedata/blob/main/notebooks/Silver_to_Gold.ipynb): `notebooks/Silver_to_Gold.ipynb`

### Other components

- [Movie CSVs](https://github.com/muliroz/cinedata/tree/main/input_files): `input_files`
- **PTAX API**

## Connections

- Movie CSVs → Landing ingestion: reads CSVs
- PTAX API → Landing ingestion: fetches rates
- Landing ingestion → Bronze Delta tables: appends data
- Bronze Delta tables → Silver curation: reads Bronze
- Silver curation → Silver Delta tables: writes cleaned data
- Silver Delta tables → Gold modeling: reads Silver
- Gold modeling → Movie dimensions: writes dimensions
- Gold modeling → Relationship bridges: writes bridges
- Gold modeling → Performance fact: writes fact
- Movie dimensions → GenAI context: provides movie data
- Performance fact → GenAI context: provides metrics
- Relationship bridges → GenAI context: provides people links
- Gold modeling → GenAI context: generates document
