NCCSoft's
1. Visão Geral do Sistema

O portal NCCSoft's é a central de acesso unificado para aplicações internas da empresa. Combina autenticação SSO via Google OAuth2, gestão de permissões granulares por aplicativo e uma interface de administração completa.

Infraestrutura

Links

2. Arquitetura
Internet
  └── Nginx (reverse proxy)
        ├── www.nccsofts.com.br   → /var/www/nccsofts (HTML estático)
        │     └── /sso/*          → BlueDeploy (Gunicorn :8000)
        ├── docs.nccsofts.com.br  → /var/www/nccsofts-docs (HTML estático)
        │     └── /sso/api/me     → proxy para BlueDeploy
        ├── bluedeploy.nccsofts.com.br → BlueDeploy (Gunicorn :8000)
        └── monitorjuridico.nccsofts.com.br → Monitor Jurídico (unix socket)

Stack Tecnológico

3. SSO — Single Sign-On

O SSO é implementado via Google OAuth2 usando a biblioteca Authlib. O cookie de sessão é compartilhado entre todos os subdomínios .nccsofts.com.br.

Mecanismo

Google OAuth2 via Authlib. Configurado com SESSION_COOKIE_DOMAIN = .nccsofts.com.br para que o cookie seja válido em todos os subdomínios.

Fluxo de Autenticação

Usuário acessa /sso/login Redireciona para Google Callback /sso/auth/google/callback Sessão criada com cookie .nccsofts.com.br

Decorators Disponíveis

Modelos de Banco

Rotas SSO

MétodoRotaDescriçãoProteção
GET/sso/Portal do usuário (apps disponíveis)sso_required
GET/sso/loginTela de loginpública
GET/sso/auth/googleInicia OAuth Googlepública
GET/sso/auth/google/callbackCallback OAuthpública
GET/sso/logoutLogoutpública
GET/sso/api/meDados do usuário logado (JSON)sso_required
GET/sso/adminPainel adminadmin_required
GET/sso/painelGestão de portal_appsadmin_required
GET/sso/backupPainel de backupsadmin_required
4. BlueDeploy — Aplicação Principal

Variáveis de Ambiente Obrigatórias

Módulos Plugáveis

5. Módulo: Governança de Índices

Gerencia índices econômicos como IPCA, INPC, IGP-M, UFESP e EC 113/2021, com controle de versão, conferência e auditoria completa.

Rotas

Modelos de Banco

Fluxo de Status dos Valores

RASCUNHO IMPORTADO EM_CONFERENCIA LIBERADO REVOGADO

Robôs Automáticos

6. Monitor Jurídico

Variáveis de Ambiente

Rotas Principais

RotaDescrição
/Página principal
/uiInterface de usuário
/healthHealth check
/watchlistLista de monitoramento
/processosListagem de processos

Auto-discover de processos a partir de documentos (CNPJs/CPFs) cadastrados na watchlist.

7. Infraestrutura — Nginx

Headers de Segurança

Proxy Reverso

Requisições para /sso/* são encaminhadas para http://127.0.0.1:8000 (Gunicorn BlueDeploy).

O subdomínio docs.nccsofts.com.br serve arquivos estáticos de /var/www/nccsofts-docs/ e faz proxy apenas de /sso/api/me para o BlueDeploy.

8. Deploy e Atualização

O repositório está clonado em /opt/bluedeploy/ no servidor. Para aplicar mudanças após um merge na branch principal:

cd /opt/bluedeploy && git pull
sudo cp Contabo/www/index.html /var/www/nccsofts/index.html
sudo cp Contabo/www/docs.html /var/www/nccsofts/docs.html
sudo cp Contabo/www/status.html /var/www/nccsofts/status.html
sudo cp Contabo/www/docs.html /var/www/nccsofts-docs/index.html
sudo chown www-data:www-data /var/www/nccsofts/*.html /var/www/nccsofts-docs/*.html
sudo systemctl restart bluedeploy

Primeira Configuração do Subdomínio docs

Para configurar o subdomínio docs.nccsofts.com.br pela primeira vez, use o script de setup:

sudo bash /opt/bluedeploy/Contabo/scripts/setup_docs_ssl.sh

O script cria o diretório /var/www/nccsofts-docs/, instala a config nginx e obtém o certificado SSL via certbot.

9. Design System — CSS

Paleta de Cores

VariávelValorUso
--bg#0b0b0dBackground principal
--panelrgba(255,255,255,.045)Cards e painéis
--linergba(255,255,255,.085)Bordas e divisores
--text#f4f5f7Texto principal
--mutedrgba(244,245,247,.72)Texto secundário
--yellow#ffd200Destaque, acento dourado

Componentes

Tipografia

Stack: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial

Responsividade

Breakpoint principal: @media(max-width:768px) — ajusta padding, font-size e layout de tabelas.

Animações

fadein — opacity 0 para 1 com translateY 8px para 0, duração 0.45s ease-out.

10. Variáveis de Ambiente — Referência Completa
VariávelObrigatóriaDescriçãoExemplo
NCC_DATABASE_URL sim DSN PostgreSQL principal (alternativa a DATABASE_URL) postgresql://user:pass@localhost/nccsofts
DATABASE_URL alternativa DSN PostgreSQL (usado se NCC_DATABASE_URL não estiver definido) postgresql://user:pass@localhost/nccsofts
SECRET_KEY sim Chave secreta Flask para assinatura de cookies de sessão uma-string-longa-e-aleatoria
GOOGLE_CLIENT_ID sim ID do cliente OAuth2 do Google Cloud Console 123456789.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET sim Segredo do cliente OAuth2 do Google GOCSPX-xxxxxxxxxxxxxxxxxxxxx
GOOGLE_REDIRECT_URI sim URI de callback OAuth2 (deve estar registrada no Google Console) https://www.nccsofts.com.br/sso/auth/google/callback
ESCAVADOR_TOKEN Monitor Jurídico Token de acesso à API Escavador para consulta de processos Token xxxxxxxxxxxxxxxxxxxxxxxx
WEBHOOK_AUTH_TOKEN Monitor Jurídico Token para autenticação de webhooks recebidos um-token-secreto