O Aura é um monolito modular — um único Cloudflare Worker que serve todas as aplicações, com routing interno via Hono. Cada app é um sub-router com seus próprios middlewares.
graph TD
W[Worker Principal<br/>src/worker.ts] --> AUTH[Auth Routes<br/>/auth/*]
W --> API[API Routes<br/>/api/*]
W --> ADM[Admin Routes<br/>/api/admin/*]
W --> P[Portal Aura<br/>/]
W --> OPT[Optimizer<br/>/optimizer/*]
W --> CAP[Captain<br/>/captain/*]
W --> QR[QR Code<br/>/qrcode/*]
W --> CIC[Ciclos<br/>/ciclos/*]
W --> SA[Static Assets<br/>/app/*]
OPT --> OPTS[Sub-Hono<br/>app/optimizer/src/worker/]
CAP --> CAPS[Sub-Hono<br/>app/captain/src/worker/]
CIC --> CICS[Sub-Hono<br/>app/ciclos/src/worker/]
W -.- DB[(D1 Database)]
W -.- NH[/Notification Hub DO/]
W -.- OS[/Optimizer Sync DO/]
W -.- AS[/Workers Assets/]
style W fill:#00aaaf,color:#fff,stroke:#008b8f
style AUTH fill:#3c1469,color:#fff
style API fill:#3c1469,color:#fff
style ADM fill:#3c1469,color:#fff
style OPT fill:#1d2738,color:#f5f7fb,stroke:#00aaaf
style CAP fill:#1d2738,color:#f5f7fb,stroke:#00aaaf
style QR fill:#1d2738,color:#f5f7fb,stroke:#00aaaf
style CIC fill:#1d2738,color:#f5f7fb,stroke:#4a5568,stroke-dasharray: 5 5
style P fill:#1d2738,color:#f5f7fb,stroke:#00aaaf
| Binding | Tipo | Uso |
|---|
PROFARMA_APPS_DB | D1 | Banco principal (users, apps, catalog, reviews) |
NOTIFICATION_HUB | Durable Object | WebSocket real-time (Ciclos) |
OPTIMIZER_SYNC | Durable Object | Cron jobs de sync VTEX catalog |
ASSETS | Workers Assets | Static files serving |
Tabelas principais:
| Tabela | Dados | Operações |
|---|
auth_users | email, password_hash, display_name | CRUD |
admin_emails | emails com permissão admin | SELECT |
apps | metadata dos apps (nome, URL, config) | CRUD |
app_forks | forks de apps | SELECT |
app_verifications | verificações Turnstile por app | SELECT, INSERT |
guest_invites | convites guest (token, email, apps) | CRUD |
catalog_products | dados de produto VTEX | CRUD |
catalog_skus | dados de SKU VTEX | CRUD |
enrichment_history | resultados de enriquecimento IA | SELECT, INSERT |
review_status | workflow de review | SELECT, UPDATE |
| Schedule | Descrição |
|---|
0 8 * * * (05:00 BRT) | Full catalog sync VTEX → D1 via Durable Object |