Pular para conteúdo

Structure

🎯 Resumo das Seções

1. Começando (/getting-started)

Público-alvo: Usuário final ou Dev que quer rodar o projeto agora.

  • O que vai aqui: Tutoriais passo-a-passo.
  • O que NÃO vai aqui: Explicações complexas de arquitetura ou decisões de design.
  • Conteúdo Chave: Instalação via Docker, execução do binário, flags da CLI.

2. Arquitetura e Decisões (/architecture)

Público-alvo: CTO, Tech Leads, Arquitetos.

  • Foco: O "Porquê" e não o "Como".
  • Conteúdo Obrigatório:
  • System Design: O diagrama de containers (React dentro do Go).
  • Data Flow: Como o dado entra CSV e sai JSON.
  • ADRs (Decision Records): Por que Go e não Python? Por que SQLite e não Postgres? (Baseado no doc DataProfiler (GO e React)).

3. Backend - Core & Infra (/backend)

Público-alvo: Engenheiros de Backend, Devs Go.

  • Foco: A engenharia pesada e otimizações.
  • Tópicos Críticos:
  • Ingestão: Lógica do SmartReader e detecção de encoding (UTF-8 vs Windows-1252).
  • Performance: O "Desafio dos 10GB", uso de sync.Pool, Goroutines e como evitamos Memory Leaks.
  • Motor de Regras: Como a heurística de Regex identifica se é CPF, CNPJ ou Placa.

4. Frontend - Visualização (/frontend)

Público-alvo: Engenheiros Frontend, UX Designers.

  • Foco: A camada de apresentação e experiência do usuário.
  • Tópicos Críticos:
  • Design System: O uso do Material UI (MUI) para tabelas de dados.
  • Real-Time: A implementação de SSE (Server-Sent Events) para barra de progresso.
  • Build: Como o React é compilado e embutido no binário Go.

5. DevOps e Qualidade (/devops)

Público-alvo: SREs, DevOps, Mantenedores.

  • Foco: O ciclo de vida do software.
  • Conteúdo:
  • Docker: Explicação do Multi-Stage Build (Node -> Go -> Alpine).
  • Testes: Estratégia de testes unitários e Fuzzing para garantir robustez contra arquivos corrompidos.
  • CI/CD: Pipelines e automação (Makefile).

6. Gestão do Produto (/product)

Público-alvo: Product Managers (PMs), Stakeholders.

  • Foco: O valor de negócio gerado.
  • Conteúdo:
  • Contexto: O problema da logística (Limpeza de dados para transportadoras).
  • SLA: As regras de negócio para validação de dados (ex: duplicidade, formatação).
  • Roadmap: O que foi entregue nas Sprints 1-7 e o que é futuro.

7. Wiki Técnica (/wiki)

Público-alvo: Eu mesmo (futuro) e Devs em aprendizado.

  • Foco: Base de conhecimento e "Cheat Sheets".
  • Conteúdo:
  • De Java para Go: Diferenças de paradigma (Ponteiros, Structs).
  • Regex Logística: Padrões Regulares específicos para documentos brasileiros.
  • Concorrência: Explicações sobre Race Conditions e Mutex.

📝 Padrões de Escrita

  • Decisões: Sempre usar o formato Contexto -> Decisão -> Consequência.
  • Código: Sempre especificar a linguagem no bloco de código (ex: ```go).
  • Diagramas: Usar Mermaid.js sempre que possível para manter o diagrama como código.