# wendelbarata/login-screen architecture

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

- Interactive diagram: https://gitdiagram.com/wendelbarata/login-screen
- Repository: https://github.com/wendelbarata/login-screen

## Overview

This is a PySide desktop login gate for applications with limited and full-access screens. The user opens the login window, may reveal the secret-code field with Ctrl+Shift+Up, and submits credentials; `main.py` checks the hard-coded credentials and routes to the limited screen or, with the correct secret, the unlimited screen. The UI files define the forms. Source excerpts show no persistent account store or external authentication service.

Main entry points: [`main.py`](https://github.com/wendelbarata/login-screen/blob/main/main.py) (Application entry), [`interface/py/LoginScreen.py`](https://github.com/wendelbarata/login-screen/blob/main/interface/py/LoginScreen.py) (Login form), [`interface/py/LimitedScreen.py`](https://github.com/wendelbarata/login-screen/blob/main/interface/py/LimitedScreen.py) (Limited form), [`interface/py/UnlimitedScreen.py`](https://github.com/wendelbarata/login-screen/blob/main/interface/py/UnlimitedScreen.py) (Full-access form)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_login["Login flow"]
  node_app["Application entry<br/>[main.py]"]
  node_login_ui["Login form<br/>[LoginScreen.py]"]
end

subgraph group_screens["Access screens"]
  node_limited["Limited screen<br/>[main.py]"]
  node_limited_ui["Limited form<br/>[LimitedScreen.py]"]
  node_unlimited["Full-access screen<br/>[main.py]"]
  node_unlimited_ui["Full-access form<br/>[UnlimitedScreen.py]"]
end

node_user(("User"))

node_user -->|"launches"| node_app
node_app -->|"sets up form"| node_login_ui
node_user -->|"enters credentials"| node_login_ui
node_login_ui -->|"submits login"| node_app
node_user -->|"reveals secret field"| node_app
node_app -->|"routes on credentials"| node_limited
node_app -->|"routes on secret"| node_unlimited
node_limited -->|"sets up form"| node_limited_ui
node_unlimited -->|"sets up form"| node_unlimited_ui

click node_app "https://github.com/wendelbarata/login-screen/blob/main/main.py"
click node_login_ui "https://github.com/wendelbarata/login-screen/blob/main/interface/py/LoginScreen.py"
click node_limited "https://github.com/wendelbarata/login-screen/blob/main/main.py"
click node_limited_ui "https://github.com/wendelbarata/login-screen/blob/main/interface/py/LimitedScreen.py"
click node_unlimited "https://github.com/wendelbarata/login-screen/blob/main/main.py"
click node_unlimited_ui "https://github.com/wendelbarata/login-screen/blob/main/interface/py/UnlimitedScreen.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_app,node_login_ui,node_user toneBlue
class node_limited,node_limited_ui,node_unlimited,node_unlimited_ui toneAmber
```

## Components

### Login flow

- [Application entry](https://github.com/wendelbarata/login-screen/blob/main/main.py): `main.py`
- [Login form](https://github.com/wendelbarata/login-screen/blob/main/interface/py/LoginScreen.py): `interface/py/LoginScreen.py`

### Access screens

- [Limited screen](https://github.com/wendelbarata/login-screen/blob/main/main.py): `main.py`
- [Limited form](https://github.com/wendelbarata/login-screen/blob/main/interface/py/LimitedScreen.py): `interface/py/LimitedScreen.py`
- [Full-access screen](https://github.com/wendelbarata/login-screen/blob/main/main.py): `main.py`
- [Full-access form](https://github.com/wendelbarata/login-screen/blob/main/interface/py/UnlimitedScreen.py): `interface/py/UnlimitedScreen.py`

### Other components

- **User**

## Connections

- User → Application entry: launches
- Application entry → Login form: sets up form
- User → Login form: enters credentials
- Login form → Application entry: submits login
- User → Application entry: reveals secret field
- Application entry → Limited screen: routes on credentials
- Application entry → Full-access screen: routes on secret
- Limited screen → Limited form: sets up form
- Full-access screen → Full-access form: sets up form
