# marcosalmeida17/urna-gremio-estudantil-2024 architecture

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

- Interactive diagram: https://gitdiagram.com/marcosalmeida17/urna-gremio-estudantil-2024
- Repository: https://github.com/marcosalmeida17/urna-gremio-estudantil-2024

## Overview

This is a desktop electronic ballot for the school student council. A student enters an RA; the app checks eligibility and prior voting, presents available groups, records a confirmed choice, and shows completion and credits. The README also documents a restricted administrative keyword, while the source accepts that keyword through the RA entry path. The sampled Python file implements the workflow and SQLite access together; the database file is present in the tree. The source loads a button sound, though its runtime path differs from the asset’s tree location.

Main entry points: [`ProjetoUrna/source_conde/Urna.py`](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py) (Vote recording), [`ProjetoUrna/db/VotosDoGremio.db`](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/db/VotosDoGremio.db) (Election database), [`ProjetoUrna/song/SOM DE BOTÃO VIRTUAL.mp3`](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/song/SOM%20DE%20BOT%C3%83O%20VIRTUAL.mp3) (Button sound)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interface["Voting interface"]
  node_login["RA login<br/>[Urna.py]"]
  node_ballot["Ballot selection<br/>[Urna.py]"]
  node_confirmation["Vote confirmation<br/>[Urna.py]"]
  node_completion["Completion screen<br/>[Urna.py]"]
  node_sound["Button sound"]
end

subgraph group_election["Election workflow"]
  node_eligibility["RA validation<br/>[Urna.py]"]
  node_recording["Vote recording<br/>[Urna.py]"]
end

subgraph group_persistence["Local persistence"]
  node_db[("Election database<br/>[VotosDoGremio.db]")]
end

node_student(("Student voter"))

node_student -->|"enters RA"| node_login
node_login -->|"submits"| node_eligibility
node_eligibility -->|"reads voter and vote data"| node_db
node_eligibility -->|"shows ballot"| node_ballot
node_ballot -->|"reads candidate groups"| node_db
node_ballot -->|"requests confirmation"| node_confirmation
node_confirmation -->|"confirms choice"| node_recording
node_recording -->|"writes vote"| node_db
node_recording -->|"plays sound"| node_sound
node_recording -->|"shows success"| node_completion

click node_login "https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py"
click node_eligibility "https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py"
click node_ballot "https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py"
click node_confirmation "https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py"
click node_recording "https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py"
click node_completion "https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py"
click node_db "https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/db/VotosDoGremio.db"
click node_sound "https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/song/SOM%20DE%20BOT%C3%83O%20VIRTUAL.mp3"

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_login,node_ballot,node_confirmation,node_completion,node_sound toneBlue
class node_eligibility,node_recording toneAmber
class node_db toneMint
class node_student toneIndigo
```

## Components

### Voting interface

- [RA login](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py): `ProjetoUrna/source_conde/Urna.py`
- [Ballot selection](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py): `ProjetoUrna/source_conde/Urna.py`
- [Vote confirmation](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py): `ProjetoUrna/source_conde/Urna.py`
- [Completion screen](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py): `ProjetoUrna/source_conde/Urna.py`
- [Button sound](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/song/SOM%20DE%20BOT%C3%83O%20VIRTUAL.mp3): `ProjetoUrna/song/SOM DE BOTÃO VIRTUAL.mp3`

### Election workflow

- [RA validation](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py): `ProjetoUrna/source_conde/Urna.py`
- [Vote recording](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/source_conde/Urna.py): `ProjetoUrna/source_conde/Urna.py`

### Local persistence

- [Election database](https://github.com/marcosalmeida17/urna-gremio-estudantil-2024/blob/main/ProjetoUrna/db/VotosDoGremio.db): `ProjetoUrna/db/VotosDoGremio.db`

### Other components

- **Student voter**

## Connections

- Student voter → RA login: enters RA (evidence: `README.md`)
- RA login → RA validation: submits (evidence: `ProjetoUrna/source_conde/Urna.py`)
- RA validation → Election database: reads voter and vote data (evidence: `ProjetoUrna/source_conde/Urna.py`)
- RA validation → Ballot selection: shows ballot (evidence: `ProjetoUrna/source_conde/Urna.py`)
- Ballot selection → Election database: reads candidate groups (evidence: `ProjetoUrna/source_conde/Urna.py`)
- Ballot selection → Vote confirmation: requests confirmation (evidence: `ProjetoUrna/source_conde/Urna.py`)
- Vote confirmation → Vote recording: confirms choice (evidence: `ProjetoUrna/source_conde/Urna.py`)
- Vote recording → Election database: writes vote (evidence: `ProjetoUrna/source_conde/Urna.py`)
- Vote recording → Button sound: plays sound (evidence: `ProjetoUrna/source_conde/Urna.py`)
- Vote recording → Completion screen: shows success (evidence: `ProjetoUrna/source_conde/Urna.py`)
