Sobre o projeto
Aetherfield é uma plataforma B2B de inteligência de sustentabilidade que ajuda empresas a rastrear, modelar, relatar e agir sobre dados de emissões. Ela aborda a lacuna entre dados ESG dispersos e manuais e insights operacionais, transformando a sustentabilidade de um exercício anual de relatórios em uma prática contínua.
O repositório contém tanto um site de marketing pré-renderizado quanto a plataforma autenticada em um único aplicativo Next.js App Router, sem serviço de backend separado. Os principais recursos incluem:
- **Site de marketing**: Sete rotas públicas (página inicial, diário, artigos, carreiras, listagens de empregos, sobre, sistema de design) com conteúdo como constantes tipadas. Caminhos públicos de escrita para solicitações de demonstração, inscrição em newsletter com duplo opt-in e candidaturas a empregos com upload privado de CV, todos com limite de taxa e proteção contra bots.
- **Plataforma**: Organizações multi-tenant com associações e convites, importação de atividades CSV com linhas em etapas, conjuntos de fatores de emissão publicados e fornecidos pelo cliente (DEFRA 2025/2026 semeados), seleção de fatores com data efetiva, mecanismo de cálculo de escopo 1/2/3 (escopo 2 baseado em localização e mercado), acompanhamento de metas com projeções, relatórios ESG gerados e três tarefas cron noturnas para recálculo, alertas de limite e purgas de retenção.
- **Integração de IA**: Um módulo redige prosa narrativa para relatórios ESG via Vercel AI Gateway. O LLM nunca produz números; toda aritmética é determinística em funções puras. Narrativas geradas são verificadas token por token contra uma lista de permissões fechada de figuras calculadas, e rascunhos que falham na verificação são descartados. Apenas seções de relatório renderizadas e arredondadas são enviadas ao provedor.
**Stack tecnológico**: Next.js 16.2.12 (App Router, Turbopack), React 19.2.4, TypeScript 5, Tailwind CSS 4 (sem configuração), Neon Postgres com node-postgres, Drizzle ORM, Better Auth (auto-hospedado), Resend + React Email, Upstash Redis para limite de taxa, Vercel Blob (privado), proteção contra bots BotID, validação Zod, GSAP e Motion para animações, AI SDK, Vitest e Playwright para testes.
**Arquitetura**: Em camadas com UI, Server Actions (único caminho de mutação), Route Handlers (apenas chamadores externos), camada de dados (lib/db) e camada de domínio (funções puras). A UI nunca muta através de Route Handlers; toda mutação autoriza e valida no lado do servidor. Formulários públicos seguem um caminho consistente: validação do cliente, verificação BotID, limite de taxa, validação Zod no servidor, autorização, gravação no banco de dados e notificação por e-mail (falha nunca falha a gravação).
**Começando**: Requer Node.js 20+, um banco de dados Neon Postgres (strings de conexão agrupadas e diretas) e, opcionalmente, o CLI da Vercel. A configuração envolve copiar .env.example, executar migrações e semear fatores de conversão. Não há modo de banco de dados local.
**Testes**: Vitest é limitado a lib/domain (apenas funções puras). Playwright cobre Chromium, Firefox e WebKit contra uma build de produção, com WebKit em um contêiner Podman sem raiz para reprodutibilidade.
**Tratamento de dados pessoais**: CVs armazenados em armazenamento de blob privado com URLs assinadas, newsletter com duplo opt-in, sem registro de corpos de solicitação/e-mails/CVs, retenção finita com purga noturna e exclusão real de organização.
**Implantação**: Vercel Fluid Compute com runtime Node.js. Três crons noturnos declarados em vercel.json. Espera-se cold starts de escala para zero da Neon.
**Documentação**: AGENTS.md é o contrato do contribuidor; docs/ contém registros de build por superfície; prompts/ contém os prompts de implementação numerados que construíram o repositório.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.