Skip to main content

O que é o OmniDom?

O OmniDom é um hub de gestão para sellers que vendem em múltiplos marketplaces (Mercado Livre, Shopee, entre outros). Ele centraliza produtos, estoque, pedidos e anúncios em uma única plataforma multi-tenant.

Autenticação

Login, registro, sessões e recuperação de senha com JWT e refresh tokens.

Catálogo de Produtos

CRUD de produtos, variações, componentes (kits) e custos.

Estoque

Gestão de estoque por depósito, ajustes, transferências e dashboard.

Anúncios

Sync de anúncios dos marketplaces e vinculação ao catálogo interno.

Integrações

Conexão OAuth com Mercado Livre, Shopee e outros canais.

Importação NF-e

Upload de XML de NF-e para entrada de estoque com preview e confirmação.

Arquitetura geral

O backend é construído em NestJS com TypeORM (PostgreSQL), BullMQ (Redis) para filas assíncronas e isolamento de dados por tenant via TenancyMiddleware.
Frontend (Next.js)


  API REST (NestJS)

  ┌────┴────────────────────┐
  │   Guards & Middleware   │
  │  JwtAuth + TenantGuard  │
  └────┬────────────────────┘

  ┌────┴──────────────────────────────────────┐
  │               Módulos de Domínio           │
  │  Catalog · Inventory · Orders · Listings   │
  │  Integrations · Processing · Warehouses    │
  └────┬──────────────────────────────────────┘

  ┌────┴─────────────────┐
  │  PostgreSQL + Redis   │
  │  BullMQ queue jobs    │
  └──────────────────────┘

Autenticação nas requisições

Todas as rotas protegidas exigem dois mecanismos:
  1. JwtAuthGuard — verifica o cookie accessToken (JWT).
  2. TenantGuard — valida que o tenantId no contexto corresponde ao usuário autenticado.
O tenant é resolvido automaticamente pelo TenancyMiddleware para cada requisição.