# Backoffice - Documentação

## Status (pronto x faltando)

**Pronto**
- Conteúdo descrito neste documento.

**Faltando**
- Confirmar no código o estado real das funcionalidades e atualizar esta seção conforme necessário.

---


## Visão Geral

Sistema administrativo interno para gestão do marketplace SaveInMed. Permite gerenciar configurações, variáveis criptografadas e monitorar operações.

## Tecnologias

- **NestJS 10** - Framework
- **Fastify** - HTTP adapter
- **Prisma** - ORM
- **PostgreSQL** - Database

## Funcionalidades

### Configurações Criptografadas
Gerencia variáveis sensíveis (API keys, secrets) com criptografia AES-256.

```
POST   /api/admin/settings      → Criar
GET    /api/admin/settings      → Listar
PUT    /api/admin/settings/:key → Atualizar
DELETE /api/admin/settings/:key → Remover
```

### Gestão de Pagamentos
- Visualizar transações
- Configurar gateways
- Gerenciar comissões

### Dashboard Administrativo
- Métricas de vendas
- Usuários ativos
- Pedidos pendentes

## 🚀 Deployment

The service is containerized using **Google Distroless** images (`gcr.io/distroless/nodejs22-debian12`) for maximum security and minimal footprint.
Verified locally using `JWT_SECRET` shared with the backend.

## Variáveis de Ambiente

```bash
DATABASE_URL=postgres://...
JWT_SECRET=dev-secret         # Must match backend secret for local verification
PORT=3000
API_URL=http://localhost:8214
ENCRYPTION_KEY=...
```

## Executar

```bash
cd backoffice
pnpm install
pnpm prisma:generate
pnpm start:dev
```

## API Docs

Swagger disponível em: `http://localhost:3000/api`
