Ir para o conteúdo

9. Backend

📚 Índice da documentação

9.1 Camadas (cloud)

middleware.ts            → CSP/HSTS/CSRF, headers
app/api/**/route.ts      → adaptadores finos (HTTP ↔ deps)
lib/handlers/*           → casos de uso (DI, testados)
lib/*                    → domínio puro (authz, plans, review, privacy, totp, cache…)
server/*                 → infra (Drizzle stores, redis, sentry sink, audit)
db/*                     → schema + clients (primary/replica)

9.2 Serviços / Repositories / Controllers / Middlewares

  • Controllers: route handlers (thin).
  • Use cases: handleReviewAction, handleMemberInvite, handleKeyCreation, handlePrivacyExport/Deletion, handleMfa, handleTranslate/Judge.
  • Repositories (portas): ReviewStore, MemberStore, KeyStore, OrgLookup, MfaUserStore, UsageStore, SemanticMemory, MembershipStore, AuditLog, SpendStore, Cache, RateLimiter.
  • Middlewares: segurança (headers/CSRF) + rate limit por rota (enforceRateLimit).

9.3 Núcleo (packages)

  • core: parsers (10 formatos), diff, lockfile TM, validadores, ICU/CLDR, pipeline (runLocale), pricing, semantic memory, finetune.
  • providers: anthropic/openai/cloud/mock, retry+Zod, embeddings.
  • cli: init/translate/check/status/dataset, scan de contexto (AST+grep), I/O.
  • action: wrapper da CLI para GitHub Actions.

9.4 Workers / Jobs / Cache / Fila / Mensageria

  • Fila: jobs table + DbJobQueue (FOR UPDATE SKIP LOCKED) + processJobs (retry exponencial 1s/5s/25s, cap 5m). Cron /api/worker a cada 1 min.
  • Cache: InMemoryLru/KvCache (TM quente) via withCache(provider).
  • Cron: /api/retention (03:00), /api/worker (1 min).
  • Mensageria: sem broker dedicado (fila em Postgres suficiente até o gatilho de escala; ver Roadmap).

← Front-end · Índice · Infraestrutura →