Ednan Ferreira

CT Alpha - Sistema de Gestão de Consentimentos

Sistema web para registro, gestão e auditoria de termos de consentimento de saúde (PAR-Q) e LGPD para academias de artes marciais, com foco em conformidade e automação.

O projeto implementa:

  • Gestão de Consentimentos LGPD

    Coleta e armazenamento seguro de termos de uso de imagem e dados de saúde

  • Questionário PAR-Q Digital

    Formulário de prontidão para atividade física com validação e geração de PDF

  • Automação de Documentos

    Geração automática de comprovantes em PDF e envio por e-mail para o aluno

  • Integração com Google Sheets

    Sincronização em tempo real para controle administrativo facilitado

  • Upload via N8N

    Pipeline automatizado para armazenamento de arquivos no Google Drive

Python
FastAPI
PostgreSQL
SQLite
N8N
Google Sheets

Problema e Solução

Problema

Academias precisavam de um controle rigoroso de saúde e dados:

  • Gestão manual de papéis e formulários físicos
  • Dificuldade em manter conformidade com a LGPD
  • Risco de perda de documentos importantes
  • Falta de backups digitais organizados
  • Processo lento de admissão de novos alunos

Solução

Sistema digital centralizado e automatizado:

  • Formulário online multi-step intuitivo
  • Assinatura e aceite digital de termos
  • Geração instantânea de cópia em PDF
  • Envio automático de comprovantes por e-mail
  • Painel de controle via Google Sheets

Benefícios

  • Conformidade Legal

    Registro auditável de consentimento e dados de saúde

  • Eficiência Operacional

    Eliminação total do fluxo de papel na admissão

  • Segurança de Dados

    Armazenamento seguro e logs com mascaramento de dados

  • Experiência do Aluno

    Processo rápido, moderno e transparente

Integrações e Fluxos

N8N & Google Drive

O backend envia o PDF gerado em base64 para um webhook do N8N. O fluxo N8N converte o arquivo e realiza o upload organizado no Google Drive, retornando o link ou status, mantendo o backend leve e sem dependências diretas de storage.

Google Sheets API

Para facilitar a gestão pelos administradores da academia, cada novo registro ou atualização de status (revogação/expiração) é refletido instantaneamente em uma planilha de controle via API.

Destaques Técnicos

Orquestração e Integração N8N

Desafio

Necessidade de armazenar PDFs externamente e integrar múltiplos serviços sem acoplar tudo ao backend.

Solução

Webhook N8N recebe payload com PDF em base64 e metadados. O fluxo N8N gerencia o upload para o Google Drive e outras automações, desacoplando o storage do núcleo da aplicação.

Desacoplamento de storage e automação low-code

Questionário PAR-Q Consolidado

Desafio

Gerar documentos consistentes (PDF e E-mail) a partir de um questionário de saúde complexo.

Solução

Schema único 'QuestionnaireConsentData' valida e formata as respostas. O mesmo texto formatado alimenta tanto o gerador de PDF (xhtml2pdf) quanto o template de e-mail, garantindo consistência total.

Reutilização de lógica de apresentação

Auditoria em Planilhas e Logs LGPD

Desafio

Manter registro acessível para administração e logs seguros conforme a LGPD.

Solução

Atualização em tempo real no Google Sheets via API. Sistema de logging com mascaramento automático de dados sensíveis (CPF, e-mail, telefone) para conformidade e segurança.

Compliance e visibilidade operacional

Arquitetura Limpa (Clean Architecture)

Desafio

Manter o código organizado e testável com regras de negócio complexas de consentimento.

Solução

Separação estrita em camadas: Domain (regras), Application (casos de uso), Infrastructure (banco, e-mail, PDF) e Interfaces (API). Dependências injetadas para facilitar testes e manutenção.

Código modular e independente de framework

Stack Tecnológica

Backend - Python

FastAPI0.109

API assíncrona de alta performance com validação Pydantic e OpenAPI automático

SQLAlchemy2.0 (Async)

ORM moderno com suporte a operações assíncronas e migrations via Alembic

Pydanticv2

Validação robusta de dados e configurações com tipagem forte

aiosmtplib

Envio de e-mails assíncrono para não bloquear o event loop

xhtml2pdf

Geração de PDFs compatíveis a partir de templates HTML/CSS

Frontend

HTML5 & CSS3

Estrutura semântica e estilização responsiva sem frameworks pesados

JavaScript Vanilla

Lógica de formulário leve, máscaras e validações no cliente

Infraestrutura & Integrações

Docker

Containerização para consistência entre ambientes de desenvolvimento e produção

N8N

Automação de fluxo de trabalho para upload de arquivos e integrações externas

PostgreSQL/SQLite

Banco de dados relacional (SQLite em dev, Postgres em prod)

Google Sheets API

Integração via Service Account para registro auditável em planilhas

Fluxo de Registro

Do Formulário à Confirmação

1.

Aluno preenche dados e questionário PAR-Q no frontend

2.

API recebe POST, valida dados com Pydantic e verifica duplicidade

3.

Use Case cria registros no banco e gera PDF do termo com xhtml2pdf

4.

Sistema envia e-mail com PDF anexo para o aluno (aiosmtplib)

5.

Webhook N8N é acionado para upload do PDF no Google Drive

6.

Planilha Google Sheets é atualizada com novo registro

Conceitos Aplicados

Clean Architecture

Estrutura do projeto (Domain, App, Infra, Interfaces)

Async/Await

Todo o fluxo de I/O (Banco, E-mail, Webhooks)

Validação de Dados

Pydantic Schemas para Requests e Configurações

Integração Low-Code

Webhook N8N para orquestração de arquivos

Geração de Documentos

HTML/CSS para PDF com xhtml2pdf

Segurança e LGPD

Logs mascarados e consentimento explícito

Design Patterns

Repository, Use Case, Service Layer