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

54 lines
1.9 KiB
Markdown

# 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.br``tutoia`)
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
```bash
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.br``tutoia`); 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) |