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
SmartReadere 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.