# fernandoaab/att architecture

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

## Overview

ATT is a small Windows software updater. The user starts `main()`, which checks the operating system, displays a temporary Tkinter notification, and runs Winget’s silent upgrade command; failures trigger an error notification. The sole source file implements both orchestration and notification animation. The README describes the same workflow; no separate storage or update-management layer is present.

Main entry points: [`main.py`](https://github.com/fernandoaab/att/blob/main/main.py) (Updater entry point)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_workflow["Update workflow"]
  node_main["Updater entry point<br/>[main.py]"]
end

subgraph group_notification["Notifications"]
  node_toast["Toast notification<br/>[main.py]"]
end

subgraph group_integrations["System integrations"]
  node_platform["Platform detection<br/>[main.py]"]
  node_tkinter["Tkinter UI"]
  node_subprocess["Process runner"]
  node_winget["Winget"]
end

node_user(("User"))
node_installed["Installed software"]

node_user -->|"starts"| node_main
node_main -->|"checks OS"| node_platform
node_platform -->|"returns OS"| node_main
node_main -->|"shows status"| node_toast
node_toast -->|"renders window"| node_tkinter
node_main -->|"runs command"| node_subprocess
node_subprocess -->|"executes"| node_winget
node_winget -->|"updates packages"| node_installed

click node_main "https://github.com/fernandoaab/att/blob/main/main.py"
click node_platform "https://github.com/fernandoaab/att/blob/main/main.py"
click node_toast "https://github.com/fernandoaab/att/blob/main/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_main,node_user toneBlue
class node_toast toneAmber
class node_platform,node_tkinter,node_subprocess,node_winget toneMint
class node_installed toneIndigo
```

## Components

### Update workflow

- [Updater entry point](https://github.com/fernandoaab/att/blob/main/main.py): `main.py`

### Notifications

- [Toast notification](https://github.com/fernandoaab/att/blob/main/main.py): `main.py`

### System integrations

- [Platform detection](https://github.com/fernandoaab/att/blob/main/main.py): `main.py`
- **Tkinter UI**
- **Process runner**
- **Winget**

### Other components

- **User**
- **Installed software**

## Connections

- User → Updater entry point: starts
- Updater entry point → Platform detection: checks OS
- Platform detection → Updater entry point: returns OS
- Updater entry point → Toast notification: shows status
- Toast notification → Tkinter UI: renders window
- Updater entry point → Process runner: runs command
- Process runner → Winget: executes
- Winget → Installed software: updates packages
