# AutomatizaSE Portal - Documento de Arquitetura Full-Stack ## Table of Contents - [AutomatizaSE Portal - Documento de Arquitetura Full-Stack](#table-of-contents) - [Introdução](./introduo.md) - [Starter Template ou Projeto Existente](./introduo.md#starter-template-ou-projeto-existente) - [Change Log](./introduo.md#change-log) - [Arquitetura de Alto Nível](./arquitetura-de-alto-nvel.md) - [Resumo Técnico](./arquitetura-de-alto-nvel.md#resumo-tcnico) - [Escolha de Plataforma e Infraestrutura](./arquitetura-de-alto-nvel.md#escolha-de-plataforma-e-infraestrutura) - [Estrutura do Repositório](./arquitetura-de-alto-nvel.md#estrutura-do-repositrio) - [Diagrama de Arquitetura de Alto Nível (POC Simplificada)](./arquitetura-de-alto-nvel.md#diagrama-de-arquitetura-de-alto-nvel-poc-simplificada) - [Padrões Arquiteturais (Simplificados para POC)](./arquitetura-de-alto-nvel.md#padres-arquiteturais-simplificados-para-poc) - [Containerização e Orquestração](./containerizao-e-orquestrao.md) - [Dockerfile (Simplificado para POC)](./containerizao-e-orquestrao.md#dockerfile-simplificado-para-poc) - [Kubernetes Manifests (POC Mínima)](./containerizao-e-orquestrao.md#kubernetes-manifests-poc-mnima) - [1. Namespace](./containerizao-e-orquestrao.md#1-namespace) - [2. ConfigMap](./containerizao-e-orquestrao.md#2-configmap) - [3. Secret](./containerizao-e-orquestrao.md#3-secret) - [4. Deployment](./containerizao-e-orquestrao.md#4-deployment) - [5. Service](./containerizao-e-orquestrao.md#5-service) - [6. Ingress (Nginx)](./containerizao-e-orquestrao.md#6-ingress-nginx) - [Deploy Rápido (POC)](./containerizao-e-orquestrao.md#deploy-rpido-poc) - [Tech Stack](./tech-stack.md) - [Modelos de Dados](./modelos-de-dados.md) - [User](./modelos-de-dados.md#user) - [Interface TypeScript](./modelos-de-dados.md#interface-typescript) - [Relacionamentos](./modelos-de-dados.md#relacionamentos) - [UserSettings](./modelos-de-dados.md#usersettings) - [Interface TypeScript](./modelos-de-dados.md#interface-typescript) - [Relacionamentos](./modelos-de-dados.md#relacionamentos) - [GoogleCalendarIntegration](./modelos-de-dados.md#googlecalendarintegration) - [Interface TypeScript](./modelos-de-dados.md#interface-typescript) - [Relacionamentos](./modelos-de-dados.md#relacionamentos) - [WhatsAppInstance](./modelos-de-dados.md#whatsappinstance) - [Interface TypeScript](./modelos-de-dados.md#interface-typescript) - [Relacionamentos](./modelos-de-dados.md#relacionamentos) - [Especificação da API](./especificao-da-api.md) - [REST API](./especificao-da-api.md#rest-api) - [Componentes](./componentes.md) - [NextJS Frontend App](./componentes.md#nextjs-frontend-app) - [NextJS API Routes (BFF)](./componentes.md#nextjs-api-routes-bff) - [Supabase Backend](./componentes.md#supabase-backend) - [Diagrama de Componentes](./componentes.md#diagrama-de-componentes) - [APIs Externas](./apis-externas.md) - [EvolutionAPI](./apis-externas.md#evolutionapi) - [Google Calendar OAuth (via n8n)](./apis-externas.md#google-calendar-oauth-via-n8n) - [Workflows Principais](./workflows-principais.md) - [Login Flow](./workflows-principais.md#login-flow) - [WhatsApp QR Code Flow](./workflows-principais.md#whatsapp-qr-code-flow) - [Google Calendar OAuth Flow](./workflows-principais.md#google-calendar-oauth-flow) - [Schema do Banco de Dados](./schema-do-banco-de-dados.md) - [Schema: ](./schema-do-banco-de-dados.md#schema) - [Arquitetura Frontend](./arquitetura-frontend.md) - [Arquitetura de Componentes](./arquitetura-frontend.md#arquitetura-de-componentes) - [Organização de Componentes](./arquitetura-frontend.md#organizao-de-componentes) - [Template de Componente](./arquitetura-frontend.md#template-de-componente) - [Gerenciamento de Estado](./arquitetura-frontend.md#gerenciamento-de-estado) - [Estrutura de Estado](./arquitetura-frontend.md#estrutura-de-estado) - [Padrões de Gerenciamento de Estado](./arquitetura-frontend.md#padres-de-gerenciamento-de-estado) - [Arquitetura de Roteamento](./arquitetura-frontend.md#arquitetura-de-roteamento) - [Organização de Rotas](./arquitetura-frontend.md#organizao-de-rotas) - [Padrão de Rota Protegida](./arquitetura-frontend.md#padro-de-rota-protegida) - [Camada de Serviços Frontend](./arquitetura-frontend.md#camada-de-servios-frontend) - [Setup do Cliente API](./arquitetura-frontend.md#setup-do-cliente-api) - [Exemplo de Serviço](./arquitetura-frontend.md#exemplo-de-servio) - [Arquitetura Backend](./arquitetura-backend.md) - [Arquitetura de Serviços (Serverless)](./arquitetura-backend.md#arquitetura-de-servios-serverless) - [Organização de Funções](./arquitetura-backend.md#organizao-de-funes) - [Template de Função](./arquitetura-backend.md#template-de-funo) - [Arquitetura de Banco de Dados](./arquitetura-backend.md#arquitetura-de-banco-de-dados) - [Design do Schema](./arquitetura-backend.md#design-do-schema) - [Camada de Acesso a Dados](./arquitetura-backend.md#camada-de-acesso-a-dados) - [Autenticação e Autorização](./arquitetura-backend.md#autenticao-e-autorizao) - [Fluxo de Auth](./arquitetura-backend.md#fluxo-de-auth) - [Middleware/Guards](./arquitetura-backend.md#middlewareguards) - [Estrutura Unificada do Projeto](./source-tree.md) - [Workflow de Desenvolvimento](./workflow-de-desenvolvimento.md) - [Setup de Desenvolvimento Local](./workflow-de-desenvolvimento.md#setup-de-desenvolvimento-local) - [Pré-requisitos](./workflow-de-desenvolvimento.md#pr-requisitos) - [Setup Inicial](./workflow-de-desenvolvimento.md#setup-inicial) - [Comandos de Desenvolvimento](./workflow-de-desenvolvimento.md#comandos-de-desenvolvimento) - [Configuração de Ambiente](./workflow-de-desenvolvimento.md#configurao-de-ambiente) - [Variáveis de Ambiente Necessárias](./workflow-de-desenvolvimento.md#variveis-de-ambiente-necessrias) - [Arquitetura de Deploy](./arquitetura-de-deploy.md) - [Estratégia de Deploy](./arquitetura-de-deploy.md#estratgia-de-deploy) - [Pipeline CI/CD](./arquitetura-de-deploy.md#pipeline-cicd) - [Ambientes](./arquitetura-de-deploy.md#ambientes) - [Segurança e Performance](./segurana-e-performance.md) - [Requisitos de Segurança](./segurana-e-performance.md#requisitos-de-segurana) - [Otimização de Performance](./segurana-e-performance.md#otimizao-de-performance) - [Estratégia de Testes](./estratgia-de-testes.md) - [Pirâmide de Testes](./estratgia-de-testes.md#pirmide-de-testes) - [Organização de Testes](./estratgia-de-testes.md#organizao-de-testes) - [Testes Frontend](./estratgia-de-testes.md#testes-frontend) - [Testes Backend](./estratgia-de-testes.md#testes-backend) - [Testes E2E](./estratgia-de-testes.md#testes-e2e) - [Exemplos de Testes](./estratgia-de-testes.md#exemplos-de-testes) - [Teste de Componente Frontend](./estratgia-de-testes.md#teste-de-componente-frontend) - [Teste de API Backend](./estratgia-de-testes.md#teste-de-api-backend) - [Teste E2E](./estratgia-de-testes.md#teste-e2e) - [Padrões de Código](./coding-standards.md) - [Regras Críticas Fullstack](./coding-standards.md#regras-crticas-fullstack) - [Convenções de Nomenclatura](./coding-standards.md#convenes-de-nomenclatura) - [Estratégia de Tratamento de Erros](./estratgia-de-tratamento-de-erros.md) - [Fluxo de Erros](./estratgia-de-tratamento-de-erros.md#fluxo-de-erros) - [Formato de Resposta de Erro](./estratgia-de-tratamento-de-erros.md#formato-de-resposta-de-erro) - [Tratamento de Erros Frontend](./estratgia-de-tratamento-de-erros.md#tratamento-de-erros-frontend) - [Tratamento de Erros Backend](./estratgia-de-tratamento-de-erros.md#tratamento-de-erros-backend) - [Monitoramento (POC Simplificada)](./monitoramento-poc-simplificada.md) - [Logs Básicos](./monitoramento-poc-simplificada.md#logs-bsicos) - [Relatório de Resultados do Checklist](./relatrio-de-resultados-do-checklist.md) - [Resumo Executivo](./relatrio-de-resultados-do-checklist.md#resumo-executivo) - [Recomendações](./relatrio-de-resultados-do-checklist.md#recomendaes) - [Decisão Final](./relatrio-de-resultados-do-checklist.md#deciso-final)