Pular para o conteúdo

Arquitetura

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
BindingTipoUso
PROFARMA_APPS_DBD1Banco principal (users, apps, catalog, reviews)
NOTIFICATION_HUBDurable ObjectWebSocket real-time (Ciclos)
OPTIMIZER_SYNCDurable ObjectCron jobs de sync VTEX catalog
ASSETSWorkers AssetsStatic files serving

Tabelas principais:

TabelaDadosOperações
auth_usersemail, password_hash, display_nameCRUD
admin_emailsemails com permissão adminSELECT
appsmetadata dos apps (nome, URL, config)CRUD
app_forksforks de appsSELECT
app_verificationsverificações Turnstile por appSELECT, INSERT
guest_invitesconvites guest (token, email, apps)CRUD
catalog_productsdados de produto VTEXCRUD
catalog_skusdados de SKU VTEXCRUD
enrichment_historyresultados de enriquecimento IASELECT, INSERT
review_statusworkflow de reviewSELECT, UPDATE
ScheduleDescrição
0 8 * * * (05:00 BRT)Full catalog sync VTEX → D1 via Durable Object