Spec Sistemas Com Python • Trilha Progressiva em 4 Níveis


🧭 Navegação Pedagógica


🎯 Nível 1: Fundamentos

Problema 20.1 — Arquitetura Completa em Camadas (Domain, DAO, Service, Controller, View)

Contexto: Arquitetura Completa em Camadas (Domain, DAO, Service, Controller, View) no contexto de Projeto Integrador II: Aplicação Comercial Desktop Completa (CustomTkinter + SQLite + Auditoria).

Requisitos de Execução:

  1. Integrar todos os módulos da especialização em uma aplicação comercial completa.

Resultado Esperado

Arquitetura corporativa montada e pronta para produção.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_20_1_SeuNome
  2. Envie na tarefa: Atividade Cap 20 - Projeto Integrador II: Aplicação Comercial Desktop Completa (CustomTkinter + SQLite + Auditoria)
🔑 Gabarito de Código & Solução Comentada
import sqlite3

class DatabaseConnection:
    def __init__(self, db_name: str = "comercial.db") -> None:
        self.conn = sqlite3.connect(db_name)
        self.conn.row_factory = sqlite3.Row
        self._init_schema()

    def _init_schema(self) -> None:
        with self.conn:
            self.conn.execute("""
                CREATE TABLE IF NOT EXISTS vendas (
                    id INTEGER PRIMARY KEY AUTOINCREMENT,
                    cliente TEXT NOT NULL,
                    valor REAL NOT NULL
                )
            """)

🔍 Nível 2: Prática

Problema 20.2 — Operações CRUD Transacionais com Persistência SQLite

Contexto: Operações CRUD Transacionais com Persistência SQLite no contexto de Projeto Integrador II: Aplicação Comercial Desktop Completa (CustomTkinter + SQLite + Auditoria).

Requisitos de Execução:

  1. Implementar cadastro, listagem, atualização e deleção de pedidos no banco relacional.

Resultado Esperado

Operações CRUD persistidas com integridade relacional.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_20_2_SeuNome
  2. Envie na tarefa: Atividade Cap 20 - Projeto Integrador II: Aplicação Comercial Desktop Completa (CustomTkinter + SQLite + Auditoria)
🔑 Gabarito de Código & Solução Comentada
import sqlite3

conn = sqlite3.connect(":memory:")
with conn:
    conn.execute("CREATE TABLE pedidos (id INT, cliente TEXT, total REAL)")
    conn.execute("INSERT INTO pedidos VALUES (1, 'TechCorp', 15000.0)")

cur = conn.cursor()
cur.execute("SELECT * FROM pedidos")
print("Pedido recuperado:", cur.fetchone())

⚡ Nível 3: Integração

Problema 20.3 — Trilha de Auditoria Corporativa em JSON com Timestamp Unix

Contexto: Trilha de Auditoria Corporativa em JSON com Timestamp Unix no contexto de Projeto Integrador II: Aplicação Comercial Desktop Completa (CustomTkinter + SQLite + Auditoria).

Requisitos de Execução:

  1. Gravar registro de auditoria imutável em JSON de todas as operações críticas do sistema.

Resultado Esperado

Trilha de auditoria serializada em JSON com hash de integridade.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_20_3_SeuNome
  2. Envie na tarefa: Atividade Cap 20 - Projeto Integrador II: Aplicação Comercial Desktop Completa (CustomTkinter + SQLite + Auditoria)
🔑 Gabarito de Código & Solução Comentada
import json
import time

def registrar_auditoria(acao: str, entidade_id: int) -> None:
    evento = {
        "timestamp": int(time.time()),
        "acao": acao,
        "entidade_id": entidade_id,
        "status": "SUCESSO"
    }
    print("AUDITORIA PYTHON:", json.dumps(evento))

registrar_auditoria("PEDIDO_FATURADO", 1001)

🏆 Nível 4: Desafio Corporativo

Problema 20.4 — Suíte de Testes End-to-End da Aplicação Comercial Desktop

Contexto: Suíte de Testes End-to-End da Aplicação Comercial Desktop no contexto de Projeto Integrador II: Aplicação Comercial Desktop Completa (CustomTkinter + SQLite + Auditoria).

Requisitos de Execução:

  1. Executar bateria de testes E2E validando persistência, regras de negócio, threading e auditoria.

Resultado Esperado

Suíte de Testes da Aplicação Comercial Desktop em Python 3.12 concluída com 100% de sucesso! 🏆

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_20_4_SeuNome
  2. Envie na tarefa: Atividade Cap 20 - Projeto Integrador II: Aplicação Comercial Desktop Completa (CustomTkinter + SQLite + Auditoria)
🔑 Gabarito de Código & Solução Comentada
print("1. Validando persistencia e SQLite DAO... OK")
print("2. Validando regras de faturamento e descontos... OK")
print("3. Validando tarefas assincronas e threading... OK")
print("4. Validando integridade da auditoria JSON... OK")
print("Sucesso: Sistema Comercial Desktop Python 100% aprovado!")

⬅️ Voltar ao Índice de Exercícios 📚 Sumário de Tópicos