# hasanasiabd/pythonmastery architecture

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

- Interactive diagram: https://gitdiagram.com/hasanasiabd/pythonmastery
- Repository: https://github.com/hasanasiabd/pythonmastery

## Overview

pythonMastery is a collection of standalone Python lessons and practice scripts, not a single application. The learner’s workflow is to study a topic module and run its examples, then practice through independent projects. The graph groups the curriculum into coherent areas and preserves the documented project capabilities; some project implementations are not present in the supplied tree. Relationships are shown only where the excerpts demonstrate calls or input/output behavior.

Main entry points: [`Python/Project/project09-To-Do_List_App.py`](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project09-To-Do_List_App.py) (To-do manager), [`Python/Project/project12-Student_Management.py`](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project12-Student_Management.py) (Student records), [`Python/Project/project08-Number_Guessing_Game_and_Simple_Calculator.py`](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project08-Number_Guessing_Game_and_Simple_Calculator.py) (Games and calculator), [`Python/Project/project02-Tell_Me_About_Yourself.py`](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project02-Tell_Me_About_Yourself.py) (Interactive exercises)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_foundations["Python foundations"]
  node_basics["Core syntax<br/>[DataType.py]"]
  node_operators["Operators and math<br/>[Oparator.py]"]
  node_conditionals["Conditionals<br/>[If ... Else.py]"]
  node_loops["Loops<br/>[Loops.py]"]
  node_input["User input<br/>[UserInput.py]"]
  node_functions["Functions and scope<br/>[Functions.py]"]
end

subgraph group_collections["Data structures"]
  node_lists["Lists and exercises<br/>[List.py]"]
  node_arrays["Arrays and matrices<br/>[Array.py]"]
  node_tuples["Tuples<br/>[Tupies.py]"]
  node_dictionaries["Dictionaries<br/>[Dictionaries.py]"]
  node_sets["Sets<br/>[Sets.py]"]
  node_iteration["Iteration and zip<br/>[Iterator.py]"]
end

subgraph group_intermediate["Intermediate concepts"]
  node_oop["Classes and objects<br/>[OOP.py]"]
  node_inheritance["Inheritance<br/>[Inheritance.py]"]
  node_exceptions["Exception handling<br/>[TryExcept.py]"]
  node_files["File handling<br/>[File.py]"]
  node_modules["Modules and packages<br/>[Module.py]"]
  node_regex["Regular expressions<br/>[RegEx.py]"]
  node_datetime["Date and time<br/>[DateTime.py]"]
  node_recursion["Recursion<br/>[Recursion.py]"]
end

subgraph group_projects["Hands-on projects"]
  node_pdf["PDF manipulation"]
  node_interactive["Interactive exercises"]
  node_games["Games and calculator"]
  node_todo["To-do manager"]
  node_student["Student records"]
  node_analysis["Data analysis"]
  node_adventure["Adventure game"]
  node_dice["Dice roller"]
  node_hangman["Hangman"]
  node_chat["Chat application"]
  node_other_games["Limited guessing game"]
  node_password["Password generator"]
  node_downloader["Video downloader"]
end

node_learner(("Learner"))

node_learner -->|"provides input"| node_interactive
node_learner -->|"chooses options"| node_games
node_games -->|"prints results"| node_learner
node_learner -->|"chooses tasks"| node_todo
node_todo -->|"shows tasks"| node_learner
node_todo -->|"prompts menu"| node_learner
node_todo -->|"loads and saves"| node_todo
node_learner -->|"chooses action"| node_student
node_student -->|"displays records"| node_learner
node_student -->|"reads and writes"| node_student
node_learner -->|"makes choices"| node_adventure
node_learner -.->|"runs analysis"| node_analysis

click node_basics "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/DataType.py"
click node_operators "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Oparator.py"
click node_conditionals "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/If%20...%20Else.py"
click node_loops "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Loops.py"
click node_input "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/UserInput.py"
click node_functions "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Functions.py"
click node_lists "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/List.py"
click node_arrays "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Array.py"
click node_tuples "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Tupies.py"
click node_dictionaries "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Dictionaries.py"
click node_sets "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Sets.py"
click node_iteration "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Iterator.py"
click node_oop "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/OOP.py"
click node_inheritance "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Inheritance.py"
click node_exceptions "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/TryExcept.py"
click node_files "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/File.py"
click node_modules "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Module.py"
click node_regex "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/RegEx.py"
click node_datetime "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/DateTime.py"
click node_recursion "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Recursion.py"
click node_pdf "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project01-PDF_Manipulation.py"
click node_interactive "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project02-Tell_Me_About_Yourself.py"
click node_games "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project08-Number_Guessing_Game_and_Simple_Calculator.py"
click node_todo "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project09-To-Do_List_App.py"
click node_student "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project12-Student_Management.py"
click node_analysis "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project07-Data_Analysis_with_Pandas.py"
click node_adventure "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project04-Text_Based_Adventure_Game.py"
click node_dice "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project05-Ludo_Dice_Roller.py"
click node_hangman "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project06-Hangman_Game.py"
click node_chat "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project10-Simple_Chat_Application.py"
click node_other_games "https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project03-Number_Guessing_Game_Whit_Limited.py"
click node_password "https://github.com/hasanasiabd/pythonmastery/tree/main/Python/Project"
click node_downloader "https://github.com/hasanasiabd/pythonmastery/tree/main/Python/Project"

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_basics,node_operators,node_conditionals,node_loops,node_input,node_functions toneBlue
class node_lists,node_arrays,node_tuples,node_dictionaries,node_sets,node_iteration toneAmber
class node_oop,node_inheritance,node_exceptions,node_files,node_modules,node_regex,node_datetime,node_recursion toneMint
class node_pdf,node_interactive,node_games,node_todo,node_student,node_analysis,node_adventure,node_dice,node_hangman,node_chat,node_other_games,node_password,node_downloader toneRose
class node_learner toneIndigo
```

## Components

### Python foundations

- [Core syntax](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/DataType.py): `Python/DataType.py`
- [Operators and math](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Oparator.py): `Python/Oparator.py`
- [Conditionals](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/If%20...%20Else.py): `Python/If ... Else.py`
- [Loops](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Loops.py): `Python/Loops.py`
- [User input](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/UserInput.py): `Python/UserInput.py`
- [Functions and scope](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Functions.py): `Python/Functions.py`

### Data structures

- [Lists and exercises](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/List.py): `Python/List.py`
- [Arrays and matrices](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Array.py): `Python/Array.py`
- [Tuples](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Tupies.py): `Python/Tupies.py`
- [Dictionaries](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Dictionaries.py): `Python/Dictionaries.py`
- [Sets](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Sets.py): `Python/Sets.py`
- [Iteration and zip](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Iterator.py): `Python/Iterator.py`

### Intermediate concepts

- [Classes and objects](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/OOP.py): `Python/OOP.py`
- [Inheritance](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Inheritance.py): `Python/Inheritance.py`
- [Exception handling](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/TryExcept.py): `Python/TryExcept.py`
- [File handling](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/File.py): `Python/File.py`
- [Modules and packages](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Module.py): `Python/Module.py`
- [Regular expressions](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/RegEx.py): `Python/RegEx.py`
- [Date and time](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/DateTime.py): `Python/DateTime.py`
- [Recursion](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Recursion.py): `Python/Recursion.py`

### Hands-on projects

- [PDF manipulation](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project01-PDF_Manipulation.py): `Python/Project/project01-PDF_Manipulation.py`
- [Interactive exercises](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project02-Tell_Me_About_Yourself.py): `Python/Project/project02-Tell_Me_About_Yourself.py`
- [Games and calculator](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project08-Number_Guessing_Game_and_Simple_Calculator.py): `Python/Project/project08-Number_Guessing_Game_and_Simple_Calculator.py`
- [To-do manager](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project09-To-Do_List_App.py): `Python/Project/project09-To-Do_List_App.py`
- [Student records](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project12-Student_Management.py): `Python/Project/project12-Student_Management.py`
- [Data analysis](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project07-Data_Analysis_with_Pandas.py): `Python/Project/project07-Data_Analysis_with_Pandas.py`
- [Adventure game](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project04-Text_Based_Adventure_Game.py): `Python/Project/project04-Text_Based_Adventure_Game.py`
- [Dice roller](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project05-Ludo_Dice_Roller.py): `Python/Project/project05-Ludo_Dice_Roller.py`
- [Hangman](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project06-Hangman_Game.py): `Python/Project/project06-Hangman_Game.py`
- [Chat application](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project10-Simple_Chat_Application.py): `Python/Project/project10-Simple_Chat_Application.py`
- [Limited guessing game](https://github.com/hasanasiabd/pythonmastery/blob/main/Python/Project/project03-Number_Guessing_Game_Whit_Limited.py): `Python/Project/project03-Number_Guessing_Game_Whit_Limited.py`
- [Password generator](https://github.com/hasanasiabd/pythonmastery/tree/main/Python/Project): `Python/Project`
- [Video downloader](https://github.com/hasanasiabd/pythonmastery/tree/main/Python/Project): `Python/Project`

### Other components

- **Learner**

## Connections

- Learner → Interactive exercises: provides input (evidence: `Python/Project/project02-Tell_Me_About_Yourself.py`)
- Learner → Games and calculator: chooses options (evidence: `Python/Project/project08-Number_Guessing_Game_and_Simple_Calculator.py`)
- Games and calculator → Learner: prints results (evidence: `Python/Project/project08-Number_Guessing_Game_and_Simple_Calculator.py`)
- Learner → To-do manager: chooses tasks (evidence: `Python/Project/project09-To-Do_List_App.py`)
- To-do manager → Learner: shows tasks (evidence: `Python/Project/project09-To-Do_List_App.py`)
- To-do manager → Learner: prompts menu (evidence: `Python/Project/project09-To-Do_List_App.py`)
- To-do manager → To-do manager: loads and saves (evidence: `Python/Project/project09-To-Do_List_App.py`)
- Learner → Student records: chooses action (evidence: `Python/Project/project12-Student_Management.py`)
- Student records → Learner: displays records (evidence: `Python/Project/project12-Student_Management.py`)
- Student records → Student records: reads and writes (evidence: `Python/Project/project12-Student_Management.py`)
- Learner → Adventure game: makes choices (evidence: `Python/Project/project04-Text_Based_Adventure_Game.py`)
- Learner → Data analysis: runs analysis
