GUILHERME 81727c16f8
Some checks failed
Dev Build & Deploy Divida Ativa Web / build-deploy (push) Failing after 33s
feat: SPA autonomo de Divida Ativa com bootstrap multi-tenant e CRUDs Livro/Folha/CDA
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-06 17:50:31 -03:00

1.9 KiB

divida-ativa-modumfiscal-web

Frontend SPA autônomo para gestão de Dívida Ativa municipal.

Stack

  • Vue 3 + Vite
  • PrimeVue 4 + TailwindCSS
  • Pinia + Vue Router
  • Axios → divida-ativa-modumfiscal-service (porta 8094)

Multi-tenancy (igual ao core)

  1. getTenant() extrai o subdomínio de window.location.hostname (ex.: tutoia.divida.modumfiscal.com.brtutoia)
  2. Antes de montar a app, bootstrapPrefeitura() chama GET /api/v1/publico/prefeitura/{dominio}
  3. Resposta da tabela divida_ativa.T065_CONFIGAPP: codigoMunicipio, nomePrefeitura, dominio, template, pathLogo
  4. prefeituraStore persiste os dados; interceptors enviam X-Municipio e X-Dominio em todas as requisições

Desenvolvimento local

npm install
npm run dev
  • Vite: http://localhost:5174
  • .env.development: VITE_API_URL=http://localhost:8094 (igual ao core — API direta, sem proxy)
  • Tenant vem do subdomínio da URL (tutoia.divida.modumfiscal.com.brtutoia); em localhost puro o tenant é localhost, fallback sistema
  • Para simular prefeitura em dev: apontar hosts para tutoia.divida.modumfiscal.com.br ou acessar via nginx (*.divida.modumfiscal.com.br)

Telas (MVP)

Rota Descrição
/app Tela inicial
/app/livro Listagem de livros
/app/livro/cadastro Cadastro/edição de livro
/app/folha Listagem de folhas
/app/folha/cadastro Cadastro/edição de folha
/app/cda Listagem de CDAs
/app/cda/cadastro Cadastro/edição de CDA

Deploy

  • Imagem Docker: modumfiscal-divida-ativa-web
  • URL: {tenant}.divida.modumfiscal.com.br (ex.: tutoia.divida.modumfiscal.com.br)
  • Nginx encaminha /api/ para o serviço Java e / para o SPA

Variáveis

Variável Descrição
VITE_API_URL Base da API (http://localhost:8094 em dev; vazio em prod = same-origin via nginx)