# azeemghumman/iqbal-demystified-dataset architecture

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

- Interactive diagram: https://gitdiagram.com/azeemghumman/iqbal-demystified-dataset
- Repository: https://github.com/azeemghumman/iqbal-demystified-dataset

## Overview

This repository is a structured, multilingual Allama Iqbal poetry dataset intended for use by applications and researchers. Its main user-facing workflow is that consuming projects use the maintained YAML corpus; contributors can also prepare poem and list text and convert it into YAML. A separate utility extracts aligned Urdu, Roman Urdu, and English lines from poem YAML. The README documents the dataset’s role and consumers; source excerpts show the converter behavior, but do not establish all runtime or contributor-tool connections.

Main entry points: [`data/poems`](https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/data/poems) (Poem YAML), [`data/lists`](https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/data/lists) (List YAML), [`developers/poems-text`](https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/developers/poems-text) (Poem text), [`developers/lists-text`](https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/developers/lists-text) (List text)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_corpus["Published corpus"]
  node_poemdata[("Poem YAML")]
  node_listdata[("List YAML")]
  node_listindex["List index<br/>[list-of-lists.yaml]"]
end

subgraph group_authoring["Content preparation"]
  node_poemtext["Poem text"]
  node_listtext["List text"]
  node_docxconvert["DOCX extractor"]
  node_poemconvert["Poem converter"]
  node_listconvert["List converter"]
end

subgraph group_utilities["Corpus utilities"]
  node_sentenceextract["Sentence extractor"]
  node_sentences["Extracted sentences"]
end

subgraph group_consumers["Data consumers"]
  node_android["Android app"]
  node_web["Web client"]
end

node_contributors(("Contributors"))
node_researchers(("Researchers"))

node_contributors -.->|"prepare content"| node_poemtext
node_contributors -.->|"prepare content"| node_listtext
node_docxconvert -->|"writes text"| node_poemtext
node_poemtext -->|"provides input"| node_poemconvert
node_poemconvert -->|"writes YAML"| node_poemdata
node_listtext -->|"provides input"| node_listconvert
node_listconvert -->|"writes YAML"| node_listdata
node_poemdata -->|"reads YAML"| node_sentenceextract
node_sentenceextract -->|"writes lines"| node_sentences
node_poemdata -->|"supplies data"| node_android
node_listdata -.->|"supplies data"| node_android
node_poemdata -->|"supplies data"| node_web
node_listdata -.->|"supplies data"| node_web
node_poemdata -->|"supports research"| node_researchers
node_listdata -.->|"catalogued by"| node_listindex

click node_poemdata "https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/data/poems"
click node_listdata "https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/data/lists"
click node_listindex "https://github.com/azeemghumman/iqbal-demystified-dataset/blob/master/data/list-of-lists.yaml"
click node_poemtext "https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/developers/poems-text"
click node_listtext "https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/developers/lists-text"
click node_docxconvert "https://github.com/azeemghumman/iqbal-demystified-dataset/blob/master/developers/temp/convert-docx-to-text.py"
click node_poemconvert "https://github.com/azeemghumman/iqbal-demystified-dataset/blob/master/developers/scripts/convert-poem-text-to-yaml.py"
click node_listconvert "https://github.com/azeemghumman/iqbal-demystified-dataset/blob/master/developers/scripts/convert-list-text-to-yaml.py"
click node_sentenceextract "https://github.com/azeemghumman/iqbal-demystified-dataset/blob/master/developers/scripts/extract-sentences.py"
click node_sentences "https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/developers/scripts/sentences"

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_poemdata,node_listdata,node_listindex toneBlue
class node_poemtext,node_listtext,node_docxconvert,node_poemconvert,node_listconvert toneAmber
class node_sentenceextract,node_sentences toneMint
class node_android,node_web toneRose
class node_contributors,node_researchers toneIndigo
```

## Components

### Published corpus

- [Poem YAML](https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/data/poems): `data/poems`
- [List YAML](https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/data/lists): `data/lists`
- [List index](https://github.com/azeemghumman/iqbal-demystified-dataset/blob/master/data/list-of-lists.yaml): `data/list-of-lists.yaml`

### Content preparation

- [Poem text](https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/developers/poems-text): `developers/poems-text`
- [List text](https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/developers/lists-text): `developers/lists-text`
- [DOCX extractor](https://github.com/azeemghumman/iqbal-demystified-dataset/blob/master/developers/temp/convert-docx-to-text.py): `developers/temp/convert-docx-to-text.py`
- [Poem converter](https://github.com/azeemghumman/iqbal-demystified-dataset/blob/master/developers/scripts/convert-poem-text-to-yaml.py): `developers/scripts/convert-poem-text-to-yaml.py`
- [List converter](https://github.com/azeemghumman/iqbal-demystified-dataset/blob/master/developers/scripts/convert-list-text-to-yaml.py): `developers/scripts/convert-list-text-to-yaml.py`

### Corpus utilities

- [Sentence extractor](https://github.com/azeemghumman/iqbal-demystified-dataset/blob/master/developers/scripts/extract-sentences.py): `developers/scripts/extract-sentences.py`
- [Extracted sentences](https://github.com/azeemghumman/iqbal-demystified-dataset/tree/master/developers/scripts/sentences): `developers/scripts/sentences`

### Data consumers

- **Android app**
- **Web client**

### Other components

- **Contributors**
- **Researchers**

## Connections

- Contributors → Poem text: prepare content
- Contributors → List text: prepare content
- DOCX extractor → Poem text: writes text (evidence: `developers/temp/convert-docx-to-text.py`)
- Poem text → Poem converter: provides input (evidence: `developers/scripts/convert-poem-text-to-yaml.py`)
- Poem converter → Poem YAML: writes YAML (evidence: `developers/scripts/convert-poem-text-to-yaml.py`)
- List text → List converter: provides input (evidence: `developers/scripts/convert-list-text-to-yaml.py`)
- List converter → List YAML: writes YAML (evidence: `developers/scripts/convert-list-text-to-yaml.py`)
- Poem YAML → Sentence extractor: reads YAML (evidence: `developers/scripts/extract-sentences.py`)
- Sentence extractor → Extracted sentences: writes lines (evidence: `developers/scripts/extract-sentences.py`)
- Poem YAML → Android app: supplies data (evidence: `README.md`)
- List YAML → Android app: supplies data
- Poem YAML → Web client: supplies data (evidence: `README.md`)
- List YAML → Web client: supplies data
- Poem YAML → Researchers: supports research (evidence: `README.md`)
- List YAML → List index: catalogued by
