> ## Documentation Index
> Fetch the complete documentation index at: https://docs.domsoftware.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Variáveis de Ambiente (.env)

> Dicionário técnico com todas as variáveis exigidas para rodar os projetos local e em produção.

Aqui está a documentação oficial para que a equipe configure os arquivos `.env` corretamente.

***

## 1. Backend (`hub-marketplace-backend`)

O banco de dados, filhas em memória, chaves de autenticação (JWT) e dos marketplaces.

| Variável               | Descrição / Exemplo                                                                                                               | Status          |
| ---------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| `PORT`                 | Porta em que o NestJS vai rodar (Ex: `3001` local). Ignorar em prod se a plataforma (Railway) sobreescrever.                      | Opcional        |
| `DATABASE_URL`         | String de conexão do Postgres. Ex: `postgresql://user:pass@host:5432/db`                                                          | **Obrigatória** |
| `REDIS_URL`            | String de conexão do Redis para BullMQ e Cache.                                                                                   | **Obrigatória** |
| `JWT_SECRET`           | Chave de assintura para gerar os tokens de autenticação (mín. 32 char).                                                           | **Obrigatória** |
| `JWT_EXPIRES_IN`       | Tempo de vida do access\_token. Padrão sugerido: `15m`                                                                            | Opcional        |
| `TOKEN_ENCRYPTION_KEY` | Chave AES (32 bytes) para criptografar os AccessTokens do Meli/Shopee no banco de dados. Ex: `y0uR-sUPeR-S3curE-k3Y-32bYtEs_123!` | **Obrigatória** |
| `CORS_ORIGIN`          | URL do frontend autorizado. Ex: `https://app.omnidom.com`. Use `*` localmente apenas.                                             | **Obrigatória** |
| `MELI_APP_ID`          | Identificador do App Criado no Mercado Livre.                                                                                     | Opcional\*      |
| `MELI_SECRET`          | Secret Key gerada no painel do Mercado Livre.                                                                                     | Opcional\*      |
| `SHOPEE_PARTNER_ID`    | Identificador na Shopee Open Platform.                                                                                            | Opcional\*      |
| `SHOPEE_SECRET_KEY`    | Partner Key da Shopee.                                                                                                            | Opcional\*      |

*(Opcional: Mas necessário caso o módulo de integração Meli/Shopee seja utilizado pelos tenants).*

<Tip>A variável `TOKEN_ENCRYPTION_KEY` **nunca deve ser perdida ou rotacionada levianamente**! Se ela for alterada, todos os tokens OAuth decodificados de forma diferente pararão de funcionar, forçando todos os clientes a revincularem suas integrações.</Tip>

***

## 2. Frontend (`hub-marketplace`)

Abaixo estão as chaves para a raiz do repositório NEXT.JS.

| Variável                  | Descrição / Exemplo                                                                  | Status          |
| ------------------------- | ------------------------------------------------------------------------------------ | --------------- |
| `NEXT_PUBLIC_API_URL`     | Aponta para onde o motor NestJS está (Railway). Ex: `https://sua-api.up.railway.app` | **Obrigatória** |
| `NEXT_PUBLIC_APP_NAME`    | Usada por componentes visuais e titles no `layout.tsx`.                              | Opcional        |
| `NEXT_PUBLIC_ENVIRONMENT` | Para gerenciar logs ou analytics (ex: `production`, `staging`, `development`).       | Opcional        |

Lembretes do Next.js:

* Todas as varíaveis iniciadas por `NEXT_PUBLIC_` ficam visíveis no bundle enviado ao navegador (inseguro para credenciais).
* Nunca coloque tokens, IDs de banco ou segredos do Mercado Livre no repositório Next.js.
