# hammicher/movielens-analysis architecture

> Architecture diagram of the GitHub repository hammicher/movielens-analysis, 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/hammicher/movielens-analysis
- Repository: https://github.com/hammicher/movielens-analysis

## Overview

This is a MovieLens 100k data-analysis project whose documented workflow moves from exploratory analysis through relational modeling and analytical SQL views to an interactive Power BI report. The README also describes time, genre, decade, user-profile, and recommendation analyses. The supplied tree contains environment dependencies but none of the project notebooks, SQL files, dataset, or report, so paths are left null and connections reflect only the documented workflow, not inspected implementation.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_analysis["Data Analysis"]
  node_eda["Exploratory analysis"]
  node_python["Python analysis"]
end

subgraph group_modeling["Data Modeling"]
  node_model["Relational model"]
  node_postgres[("PostgreSQL")]
  node_views["Analytical SQL views"]
  node_time["Time trends"]
  node_genre["Genre and decade"]
  node_profiles["User profiles"]
  node_polarizing["Polarizing films"]
  node_underrated["Underrated films"]
  node_topfilms["Top-rated films"]
  node_recommendations["Genre recommendations"]
end

subgraph group_reporting["BI Reporting"]
  node_powerbi["Power BI report"]
  node_dashboard["Interactive dashboard"]
end

node_analyst(("Analyst"))
node_movielens["MovieLens 100k"]

node_movielens -->|"provides data"| node_eda
node_analyst -->|"explores data"| node_eda
node_eda -->|"analyzes with"| node_python
node_analyst -->|"designs model"| node_model
node_model -->|"defines schema"| node_postgres
node_postgres -->|"hosts views"| node_views
node_views -->|"exposes"| node_time
node_views -->|"exposes"| node_genre
node_views -->|"exposes"| node_profiles
node_views -->|"exposes"| node_polarizing
node_views -->|"exposes"| node_underrated
node_views -->|"exposes"| node_topfilms
node_views -->|"exposes"| node_recommendations
node_analyst -->|"builds report"| node_powerbi
node_powerbi -->|"uses data"| node_views
node_powerbi -->|"presents"| node_dashboard
node_analyst -->|"explores"| node_dashboard

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_eda,node_python toneBlue
class node_model,node_postgres,node_views,node_time,node_genre,node_profiles,node_polarizing,node_underrated,node_topfilms,node_recommendations toneAmber
class node_powerbi,node_dashboard toneMint
class node_analyst,node_movielens toneIndigo
```

## Components

### Data Analysis

- **Exploratory analysis**
- **Python analysis**

### Data Modeling

- **Relational model**
- **PostgreSQL**
- **Analytical SQL views**
- **Time trends**
- **Genre and decade**
- **User profiles**
- **Polarizing films**
- **Underrated films**
- **Top-rated films**
- **Genre recommendations**

### BI Reporting

- **Power BI report**
- **Interactive dashboard**

### Other components

- **Analyst**
- **MovieLens 100k**

## Connections

- MovieLens 100k → Exploratory analysis: provides data
- Analyst → Exploratory analysis: explores data
- Exploratory analysis → Python analysis: analyzes with
- Analyst → Relational model: designs model
- Relational model → PostgreSQL: defines schema
- PostgreSQL → Analytical SQL views: hosts views
- Analytical SQL views → Time trends: exposes
- Analytical SQL views → Genre and decade: exposes
- Analytical SQL views → User profiles: exposes
- Analytical SQL views → Polarizing films: exposes
- Analytical SQL views → Underrated films: exposes
- Analytical SQL views → Top-rated films: exposes
- Analytical SQL views → Genre recommendations: exposes
- Analyst → Power BI report: builds report
- Power BI report → Analytical SQL views: uses data
- Power BI report → Interactive dashboard: presents
- Analyst → Interactive dashboard: explores
