Proj Aplicacoes Full Stack • Trilha Progressiva em 4 Níveis


🧭 Navegação Pedagógica


🎯 Nível 1: Fundamentos

Problema 02.1 — Estruturação Full Stack de Autenticação e Autorização Ponta a Ponta: JWT e RBAC

Contexto: Estruturação Full Stack de Autenticação e Autorização Ponta a Ponta: JWT e RBAC aplicado ao domínio de Autenticação e Autorização Ponta a Ponta: JWT e RBAC.

Requisitos de Execução:

  1. Implementar arquitetura cliente-servidor completa para Autenticação e Autorização Ponta a Ponta: JWT e RBAC com tipagem compartilhada e validação de ponta a ponta.
  2. Configurar tratamento de CORS, variáveis de ambiente e banco de dados.

Resultado Esperado

Arquitetura Full Stack integrada e operando com sucesso.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_02_1_SeuNome
  2. Envie na tarefa: Atividade Cap 02 - Autenticação e Autorização Ponta a Ponta: JWT e RBAC
🔑 Gabarito de Código & Solução Comentada
// api_fullstack_core.ts
interface UserDTO {
  id: number;
  nome: string;
  role: 'ADMIN' | 'USER';
}

export function authorizeRole(user: UserDTO, requiredRole: string): boolean {
  if (user.role === 'ADMIN') return true;
  return user.role === requiredRole;
}

const mockUser: UserDTO = { id: 1, nome: "Dev Lead", role: "ADMIN" };
console.log("Autorizado:", authorizeRole(mockUser, "USER"));

🔍 Nível 2: Prática

Problema 02.2 — Autenticação e Gestão de Sessões com Tokens JWT e Cookies HTTP-Only

Contexto: Autenticação e Gestão de Sessões com Tokens JWT e Cookies HTTP-Only aplicado ao domínio de Autenticação e Autorização Ponta a Ponta: JWT e RBAC.

Requisitos de Execução:

  1. Implementar rota de login com retorno de Access Token e Refresh Token seguro.

Resultado Esperado

Login efetuado: Access Token gerado + Cookie HTTP-Only configurado.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_02_2_SeuNome
  2. Envie na tarefa: Atividade Cap 02 - Autenticação e Autorização Ponta a Ponta: JWT e RBAC
🔑 Gabarito de Código & Solução Comentada
# auth_middleware.py
def processar_login(usuario, senha):
    if usuario == "admin" and senha == "secret123":
        return {
            "access_token": "token_jwt_valido",
            "refresh_token": "refresh_valido",
            "cookie_flags": "HttpOnly; Secure; SameSite=Strict"
        }
    raise PermissionError("Credenciais inválidas")

print(processar_login("admin", "secret123"))

⚡ Nível 3: Integração

Problema 02.3 — Comunicação em Tempo Real com WebSockets

Contexto: Comunicação em Tempo Real com WebSockets aplicado ao domínio de Autenticação e Autorização Ponta a Ponta: JWT e RBAC.

Requisitos de Execução:

  1. Implementar servidor WebSocket com broadcast para múltiplos clientes conectados.

Resultado Esperado

WebSocket Server: Mensagem transmitida para 4 clientes ativos.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_02_3_SeuNome
  2. Envie na tarefa: Atividade Cap 02 - Autenticação e Autorização Ponta a Ponta: JWT e RBAC
🔑 Gabarito de Código & Solução Comentada
# websocket_server.py
class MockWebSocketServer:
    def __init__(self):
        self.clients = set()

    def connect(self, client_id):
        self.clients.add(client_id)
        print(f"Cliente {client_id} conectado.")

    def broadcast(self, message):
        for c in self.clients:
            print(f"📡 Enviando para {c}: {message}")

server = MockWebSocketServer()
server.connect("cliente_1")
server.connect("cliente_2")
server.broadcast("Novo pedido criado!")

🏆 Nível 4: Desafio Corporativo

Problema 02.4 — Desafio Corporativo: Pipeline de Deploy Contínuo Full Stack com Docker e Healthchecks

Contexto: Desafio Corporativo: Pipeline de Deploy Contínuo Full Stack com Docker e Healthchecks aplicado ao domínio de Autenticação e Autorização Ponta a Ponta: JWT e RBAC.

Requisitos de Execução:

  1. Criar script de provisionamento e validação de saúde de toda a stack (Frontend, Backend, Database e Redis).

Resultado Esperado

Full Stack Healthcheck: 4/4 serviços UP -> DEPLOY APROVADO ✅

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_02_4_SeuNome
  2. Envie na tarefa: Atividade Cap 02 - Autenticação e Autorização Ponta a Ponta: JWT e RBAC
🔑 Gabarito de Código & Solução Comentada
# fullstack_healthcheck.py
import json

def verificar_saude_stack():
    servicos = {
        "frontend": {"status": "UP", "porta": 3000},
        "backend_api": {"status": "UP", "porta": 8080},
        "database_postgres": {"status": "UP", "porta": 5432},
        "cache_redis": {"status": "UP", "porta": 6379}
    }
    
    todos_ok = all(s["status"] == "UP" for s in servicos.values())
    return {
        "status_geral": "HEALTHY" if todos_ok else "UNHEALTHY",
        "servicos": servicos
    }

print(json.dumps(verificar_saude_stack(), indent=2))

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