Pular para o conteúdo

Configuracao

Configure banco de dados, autenticacao, email e outras opcoes do NooviFlow.

Banco de Dados

O NooviFlow utiliza PostgreSQL. A conexao e configurada via variavel DATABASE_URL.

bash
# Formato da URL de conexao
DATABASE_URL=postgresql://usuario:senha@host:porta/database

# Exemplos
DATABASE_URL=postgresql://nooviflow:s3cur3@localhost:5432/nooviflow
DATABASE_URL=postgresql://nooviflow:s3cur3@postgres:5432/nooviflow?sslmode=require

Migracoes automaticas

O NooviFlow executa migracoes automaticamente ao iniciar. Nao e necessario rodar comandos de migracao manualmente.

Autenticacao JWT

O NooviFlow usa JWT para autenticacao. Configure a chave secreta para assinatura dos tokens:

bash
# Chave secreta para JWT (obrigatorio, min 32 caracteres)
JWT_SECRET=sua_chave_secreta_muito_longa_e_segura

# Para gerar uma chave segura:
openssl rand -hex 32

Expiracao de tokens

Tokens JWT expiram em 24 horas por padrao. O usuario deve fazer login novamente apos a expiracao.

Roles e permissoes

O sistema suporta roles: admin, manager e user. Cada role tem acesso a endpoints especificos.

Email (SMTP)

Configure o SMTP para envio de notificacoes de faturas, cobranças e convites:

bash
SMTP_HOST=smtp.seudominio.com
SMTP_PORT=587
SMTP_USER=flow@seudominio.com
SMTP_PASS=senha_smtp
SMTP_FROM=NooviFlow <flow@seudominio.com>

Multi-tenancy

O NooviFlow suporta multiplos tenants (empresas) em uma unica instalacao. Cada usuario pertence a um tenant e so acessa dados do seu proprio tenant.

Como funciona

  • Cada tenant tem seus proprios clientes, transacoes e configuracoes
  • O tenant e determinado automaticamente pelo token JWT do usuario
  • Super admins podem gerenciar todos os tenants via API

SSL / HTTPS

Use um reverse proxy para terminacao SSL. Exemplo com Nginx:

nginx
server {
    listen 443 ssl;
    server_name flow.seudominio.com;

    ssl_certificate /etc/ssl/certs/flow.crt;
    ssl_certificate_key /etc/ssl/private/flow.key;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
    }
}

Logs e Monitoramento

bash
# Ver logs em tempo real
docker compose logs -f nooviflow

# Health check
curl http://localhost:3000/api/health

# Metricas de uso
curl -H "Authorization: Bearer ADMIN_TOKEN" \
  http://localhost:3000/api/kpis/dashboard