# 0southboss0/miet architecture

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

- Interactive diagram: https://gitdiagram.com/0southboss0/miet
- Repository: https://github.com/0southboss0/miet

## Overview

This repository is a collection of MIET coursework, not one integrated application. Its principal user workflow is to choose a course lab, run its standalone program, and observe a calculation, model, or interaction. The graph highlights several evidenced runnable examples and the broader course areas represented in the tree. Source excerpts are partial, and many listed labs were not sampled, so their internal wiring is not inferred.

Main entry points: [`3sem/java/labs/lab2/Main.java`](https://github.com/0southboss0/miet/blob/main/3sem/java/labs/lab2/Main.java) (Vehicle demo), [`3sem/csharp/labs/lab3/ConsoleApp3/Program.cs`](https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab3/ConsoleApp3/Program.cs) (Research exercises), [`3sem/csharp/labs/lab5/ConsoleApp5/Program.cs`](https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab5/ConsoleApp5/Program.cs) (File exercises), [`7sem/tayak/labs/lab2/Main.java`](https://github.com/0southboss0/miet/blob/main/7sem/tayak/labs/lab2/Main.java) (Automaton runner)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_java["Java labs"]
  node_vehiclemain["Vehicle demo<br/>[Main.java]"]
  node_vehiclemodels["Vehicle models<br/>[Vehicle.java]"]
  node_police["Checkpoint rules<br/>[PolicePoint.java]"]
  node_radio["Radio behavior<br/>[Radio.java]"]
end

subgraph group_csharp["C&#35; labs"]
  node_researchprogram["Research exercises<br/>[Program.cs]"]
  node_researchteam["Research team<br/>[ResearchTeam.cs]"]
  node_teamcollection["Team collection"]
  node_testcollections["Collection benchmarks<br/>[TestCollections.cs]"]
  node_serializationprogram["File exercises<br/>[Program.cs]"]
end

subgraph group_languages["Algorithms and languages"]
  node_automatonmain["Automaton runner<br/>[Main.java]"]
  node_automation["Automaton logic<br/>[Automation.java]"]
  node_algorithms["Algorithm exercises"]
end

subgraph group_systems["OS and networking"]
  node_parallelserver["Factorial server<br/>[server.c]"]
  node_parallelclient["Factorial client<br/>[client.c]"]
  node_socket(("TCP connection"))
end

subgraph group_python["Python labs"]
  node_mailclient["Mail client<br/>[client.py]"]
  node_collector["Mail collector<br/>[collector.py]"]
  node_mailserver["Mail server<br/>[server.py]"]
  node_mandelbrot["Mandelbrot plot<br/>[main.py]"]
end

node_student(("Student"))
node_smtp(("SMTP service"))

node_student -->|"runs demo"| node_vehiclemain
node_vehiclemain -->|"creates vehicles"| node_vehiclemodels
node_vehiclemain -->|"checks passage"| node_police
node_vehiclemain -->|"plays tunes"| node_radio
node_student -->|"runs exercises"| node_researchprogram
node_researchprogram -->|"creates and queries"| node_researchteam
node_researchprogram -->|"uses collection"| node_teamcollection
node_researchprogram -->|"benchmarks searches"| node_testcollections
node_student -->|"runs exercises"| node_serializationprogram
node_serializationprogram -->|"loads and saves"| node_researchteam
node_student -->|"enters strings"| node_automatonmain
node_automatonmain -->|"loads and evaluates"| node_automation
node_student -->|"chooses lab"| node_algorithms
node_student -->|"runs client"| node_parallelclient
node_parallelclient -->|"sends request"| node_socket
node_socket -->|"delivers request"| node_parallelserver
node_parallelserver -->|"returns result"| node_socket
node_student -->|"submits message"| node_mailclient
node_mailclient -->|"sends data"| node_collector
node_collector -->|"forwards request"| node_mailserver
node_mailserver -->|"sends email"| node_smtp
node_student -->|"runs plot"| node_mandelbrot

click node_vehiclemain "https://github.com/0southboss0/miet/blob/main/3sem/java/labs/lab2/Main.java"
click node_vehiclemodels "https://github.com/0southboss0/miet/blob/main/3sem/java/labs/lab2/Vehicle.java"
click node_police "https://github.com/0southboss0/miet/blob/main/3sem/java/labs/lab2/PolicePoint.java"
click node_radio "https://github.com/0southboss0/miet/blob/main/3sem/java/labs/lab2/Radio.java"
click node_researchprogram "https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab3/ConsoleApp3/Program.cs"
click node_researchteam "https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab3/ConsoleApp3/ResearchTeam.cs"
click node_teamcollection "https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab3/ConsoleApp3/ResearchTeamCollection.cs"
click node_testcollections "https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab3/ConsoleApp3/TestCollections.cs"
click node_serializationprogram "https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab5/ConsoleApp5/Program.cs"
click node_automatonmain "https://github.com/0southboss0/miet/blob/main/7sem/tayak/labs/lab2/Main.java"
click node_automation "https://github.com/0southboss0/miet/blob/main/7sem/tayak/labs/lab2/Automation.java"
click node_algorithms "https://github.com/0southboss0/miet/tree/main/4sem/algo/labs"
click node_parallelserver "https://github.com/0southboss0/miet/blob/main/5sem/osis/labs/lab6/src/server.c"
click node_parallelclient "https://github.com/0southboss0/miet/blob/main/5sem/osis/labs/lab6/src/client.c"
click node_mailclient "https://github.com/0southboss0/miet/blob/main/3sem/python/labs/lab6/client.py"
click node_collector "https://github.com/0southboss0/miet/blob/main/3sem/python/labs/lab6/collector.py"
click node_mailserver "https://github.com/0southboss0/miet/blob/main/3sem/python/labs/lab6/server.py"
click node_mandelbrot "https://github.com/0southboss0/miet/blob/main/3sem/java/%D0%9C%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20%D0%9C%D0%B0%D0%BD%D0%B4%D0%B5%D0%BB%D1%8C%D0%B1%D1%80%D0%BE%D1%82%D0%B0/main.py"

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_vehiclemain,node_vehiclemodels,node_police,node_radio toneBlue
class node_researchprogram,node_researchteam,node_teamcollection,node_testcollections,node_serializationprogram toneAmber
class node_automatonmain,node_automation,node_algorithms toneMint
class node_parallelserver,node_parallelclient,node_socket toneRose
class node_mailclient,node_collector,node_mailserver,node_mandelbrot,node_student,node_smtp toneIndigo
```

## Components

### Java labs

- [Vehicle demo](https://github.com/0southboss0/miet/blob/main/3sem/java/labs/lab2/Main.java): `3sem/java/labs/lab2/Main.java`
- [Vehicle models](https://github.com/0southboss0/miet/blob/main/3sem/java/labs/lab2/Vehicle.java): `3sem/java/labs/lab2/Vehicle.java`
- [Checkpoint rules](https://github.com/0southboss0/miet/blob/main/3sem/java/labs/lab2/PolicePoint.java): `3sem/java/labs/lab2/PolicePoint.java`
- [Radio behavior](https://github.com/0southboss0/miet/blob/main/3sem/java/labs/lab2/Radio.java): `3sem/java/labs/lab2/Radio.java`

### C# labs

- [Research exercises](https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab3/ConsoleApp3/Program.cs): `3sem/csharp/labs/lab3/ConsoleApp3/Program.cs`
- [Research team](https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab3/ConsoleApp3/ResearchTeam.cs): `3sem/csharp/labs/lab3/ConsoleApp3/ResearchTeam.cs`
- [Team collection](https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab3/ConsoleApp3/ResearchTeamCollection.cs): `3sem/csharp/labs/lab3/ConsoleApp3/ResearchTeamCollection.cs`
- [Collection benchmarks](https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab3/ConsoleApp3/TestCollections.cs): `3sem/csharp/labs/lab3/ConsoleApp3/TestCollections.cs`
- [File exercises](https://github.com/0southboss0/miet/blob/main/3sem/csharp/labs/lab5/ConsoleApp5/Program.cs): `3sem/csharp/labs/lab5/ConsoleApp5/Program.cs`

### Algorithms and languages

- [Automaton runner](https://github.com/0southboss0/miet/blob/main/7sem/tayak/labs/lab2/Main.java): `7sem/tayak/labs/lab2/Main.java`
- [Automaton logic](https://github.com/0southboss0/miet/blob/main/7sem/tayak/labs/lab2/Automation.java): `7sem/tayak/labs/lab2/Automation.java`
- [Algorithm exercises](https://github.com/0southboss0/miet/tree/main/4sem/algo/labs): `4sem/algo/labs`

### OS and networking

- [Factorial server](https://github.com/0southboss0/miet/blob/main/5sem/osis/labs/lab6/src/server.c): `5sem/osis/labs/lab6/src/server.c`
- [Factorial client](https://github.com/0southboss0/miet/blob/main/5sem/osis/labs/lab6/src/client.c): `5sem/osis/labs/lab6/src/client.c`
- **TCP connection**

### Python labs

- [Mail client](https://github.com/0southboss0/miet/blob/main/3sem/python/labs/lab6/client.py): `3sem/python/labs/lab6/client.py`
- [Mail collector](https://github.com/0southboss0/miet/blob/main/3sem/python/labs/lab6/collector.py): `3sem/python/labs/lab6/collector.py`
- [Mail server](https://github.com/0southboss0/miet/blob/main/3sem/python/labs/lab6/server.py): `3sem/python/labs/lab6/server.py`
- [Mandelbrot plot](https://github.com/0southboss0/miet/blob/main/3sem/java/%D0%9C%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%BE%20%D0%9C%D0%B0%D0%BD%D0%B4%D0%B5%D0%BB%D1%8C%D0%B1%D1%80%D0%BE%D1%82%D0%B0/main.py): `3sem/java/Множество Мандельброта/main.py`

### Other components

- **Student**
- **SMTP service**

## Connections

- Student → Vehicle demo: runs demo
- Vehicle demo → Vehicle models: creates vehicles
- Vehicle demo → Checkpoint rules: checks passage
- Vehicle demo → Radio behavior: plays tunes
- Student → Research exercises: runs exercises
- Research exercises → Research team: creates and queries
- Research exercises → Team collection: uses collection
- Research exercises → Collection benchmarks: benchmarks searches
- Student → File exercises: runs exercises
- File exercises → Research team: loads and saves
- Student → Automaton runner: enters strings
- Automaton runner → Automaton logic: loads and evaluates
- Student → Algorithm exercises: chooses lab
- Student → Factorial client: runs client
- Factorial client → TCP connection: sends request
- TCP connection → Factorial server: delivers request
- Factorial server → TCP connection: returns result
- Student → Mail client: submits message
- Mail client → Mail collector: sends data
- Mail collector → Mail server: forwards request
- Mail server → SMTP service: sends email
- Student → Mandelbrot plot: runs plot
