# kamecon/tfm_kschool architecture

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

- Interactive diagram: https://gitdiagram.com/kamecon/tfm_kschool
- Repository: https://github.com/kamecon/tfm_kschool

## Overview

This repository automates survey processing: optical-reader data is cleaned, then used for descriptive and empirical analysis, reports, and an interactive dashboard. The README documents the principal run order and product capabilities, while the sampled Python source confirms the cleaning input and CSV output. Analysis and reporting internals were not sampled, so their connections are shown only where the README supports them; the dashboard’s runtime wiring is not verified.

Main entry points: [`Replicacion/encuesta.R`](https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/encuesta.R) (R processing), [`Replicacion/limpieza.py`](https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/limpieza.py) (Survey cleaner), [`encuesta.csv`](https://github.com/kamecon/tfm_kschool/blob/master/encuesta.csv) (Clean survey CSV), [`Replicacion/Reporte`](https://github.com/kamecon/tfm_kschool/tree/master/Replicacion/Reporte) (Descriptive analysis)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_cleaning["Data cleaning"]
  node_raw_survey["Raw survey data<br/>[encuesta.txt]"]
  node_cleaner["Survey cleaner<br/>[limpieza.py]"]
  node_clean_survey["Clean survey CSV<br/>[encuesta.csv]"]
end

subgraph group_analysis["Analysis and reporting"]
  node_r_analysis["R processing<br/>[encuesta.R]"]
  node_descriptive["Descriptive analysis"]
  node_empirical["Empirical analysis"]
end

subgraph group_presentation["Results delivery"]
  node_aggregate_reports["Aggregate reports<br/>[Prueba_reporte.Rmd]"]
  node_individual_reports["Professor reports"]
  node_dashboard["Interactive dashboard"]
  node_analysis_document["Analysis write-up"]
end

node_operator(("Project operator"))
node_dashboard_users(("Dashboard users"))

node_operator -->|"runs first"| node_cleaner
node_raw_survey -->|"reads"| node_cleaner
node_cleaner -->|"writes CSV"| node_clean_survey
node_operator -->|"runs second"| node_r_analysis
node_clean_survey -->|"processes next"| node_r_analysis
node_r_analysis -->|"produces analysis"| node_descriptive
node_r_analysis -->|"produces results"| node_empirical
node_r_analysis -->|"generates reports"| node_individual_reports
node_descriptive -->|"presents results"| node_aggregate_reports
node_dashboard_users -.->|"views reports"| node_dashboard
node_empirical -->|"documented in"| node_analysis_document

click node_raw_survey "https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/Data/encuesta.txt"
click node_cleaner "https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/limpieza.py"
click node_clean_survey "https://github.com/kamecon/tfm_kschool/blob/master/encuesta.csv"
click node_r_analysis "https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/encuesta.R"
click node_descriptive "https://github.com/kamecon/tfm_kschool/tree/master/Replicacion/Reporte"
click node_empirical "https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/analisis_empirico.html"
click node_aggregate_reports "https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/Reporte/Prueba_reporte.Rmd"
click node_individual_reports "https://github.com/kamecon/tfm_kschool/tree/master/Replicacion/Reporte"
click node_dashboard "https://github.com/kamecon/tfm_kschool/tree/master/Replicacion/Reporte"
click node_analysis_document "https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/analisis_empirico.html"

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_raw_survey,node_cleaner,node_clean_survey,node_dashboard_users toneBlue
class node_r_analysis,node_descriptive,node_empirical toneAmber
class node_aggregate_reports,node_individual_reports,node_dashboard,node_analysis_document toneMint
class node_operator toneIndigo
```

## Components

### Data cleaning

- [Raw survey data](https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/Data/encuesta.txt): `Replicacion/Data/encuesta.txt`
- [Survey cleaner](https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/limpieza.py): `Replicacion/limpieza.py`
- [Clean survey CSV](https://github.com/kamecon/tfm_kschool/blob/master/encuesta.csv): `encuesta.csv`

### Analysis and reporting

- [R processing](https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/encuesta.R): `Replicacion/encuesta.R`
- [Descriptive analysis](https://github.com/kamecon/tfm_kschool/tree/master/Replicacion/Reporte): `Replicacion/Reporte`
- [Empirical analysis](https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/analisis_empirico.html): `Replicacion/analisis_empirico.html`

### Results delivery

- [Aggregate reports](https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/Reporte/Prueba_reporte.Rmd): `Replicacion/Reporte/Prueba_reporte.Rmd`
- [Professor reports](https://github.com/kamecon/tfm_kschool/tree/master/Replicacion/Reporte): `Replicacion/Reporte`
- [Interactive dashboard](https://github.com/kamecon/tfm_kschool/tree/master/Replicacion/Reporte): `Replicacion/Reporte`
- [Analysis write-up](https://github.com/kamecon/tfm_kschool/blob/master/Replicacion/analisis_empirico.html): `Replicacion/analisis_empirico.html`

### Other components

- **Project operator**
- **Dashboard users**

## Connections

- Project operator → Survey cleaner: runs first (evidence: `readme.md`)
- Raw survey data → Survey cleaner: reads (evidence: `Replicacion/limpieza.py`)
- Survey cleaner → Clean survey CSV: writes CSV (evidence: `Replicacion/limpieza.py`)
- Project operator → R processing: runs second (evidence: `readme.md`)
- Clean survey CSV → R processing: processes next (evidence: `readme.md`)
- R processing → Descriptive analysis: produces analysis (evidence: `readme.md`)
- R processing → Empirical analysis: produces results (evidence: `readme.md`)
- R processing → Professor reports: generates reports (evidence: `readme.md`)
- Descriptive analysis → Aggregate reports: presents results (evidence: `readme.md`)
- Dashboard users → Interactive dashboard: views reports (evidence: `readme.md`)
- Empirical analysis → Analysis write-up: documented in (evidence: `readme.md`)
