📊 Capítulo 20: Projeto Integrador: Desktop & SQLite
Especialização em Sistemas com Python
🗺️ A Arquitetura em Camadas da Aplicação Desktop Corporativa
flowchart TD
USER["Usuário Final (Interface CustomTkinter com Dark Mode)"]
--> VIEW["Camada View (Janela Principal, Formulários Modais, Tabela de Registros)"]
VIEW --> CONTROLLER["Camada Controller / ViewModel (Coordenação e Validação)"]
CONTROLLER --> SERVICE["Camada de Serviço (Regras de Domínio e Relatórios)"]
SERVICE --> REPO["Repositório SQLite (Queries Parametrizadas, Transações ACID)"]
REPO --> DB["Banco de Dados SQLite3 com Modo WAL"]
SERVICE --> AUDIT["Módulo de Auditoria (Logs Estruturados em JSONL) 📜"]
style USER fill:#ede7f6,stroke:#512da8,stroke-width:2px
style VIEW fill:#fff3e0,stroke:#ff9800,stroke-width:2px
style CONTROLLER fill:#e1f5fe,stroke:#03a9f4,stroke-width:1.5px
style SERVICE fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
style REPO fill:#c8e6c9,stroke:#2e7d32,stroke-width:1.5px
style DB fill:#00897b,stroke:#004d40,stroke-width:2px,color:#ffffff
style AUDIT fill:#ffebee,stroke:#d32f2f,stroke-width:1.5px
🎯 Slide 1: O Desafio de Engenharia do Projeto Integrador
-
Missão: Construir um sistema desktop corporativo completo com cadastro, edição, exclusão e pesquisa avançada de clientes e contratos, interface moderna com CustomTkinter, banco local SQLite3 de alta performance, relatórios exportáveis em CSV/JSON e cobertura de testes automatizados com Pytest.
- Pilha Tecnológica: Python 3.12+, CustomTkinter, SQLite3 (WAL), Pytest e Mypy.
🎯 Slide 2: Padrões Arquiteturais Implementados
-
Thread-Safe UI: Tarefas de banco e geração de relatórios pesados rodam em threads de background sem travar a interface visual.
-
Integridade Transacional: Rollback automático de operações caso ocorra falha de rede ou de disco.
- Type Safety: 100% do código tipado com Type Hints e validado sem erros no Mypy.
🎯 Slide 3: Checklist de Homologação Final
- Zero Queries Abertas: 100% dos acessos a banco protegidos por context managers
with conn:. - Design Responsivo: Redimensionamento dinâmico de janelas e tabelas com pesos de grade.
- Auditoria Integrada: Cada alteração registrada com data UTC e autor da modificação.
- Testes Unitários: Suíte de testes aprovada com 100% de sucesso.
🔗 Navegação do Capítulo 20
| 📖 Ler Conteúdo Completo | 🧠 Fazer Quiz | 💻 Ver Exemplos | 🧩 Exercícios |
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim