96cbd8a294628b82cbd8e2d8f1cf98f26a652521
CLIENTE.CNPJ/TELEFONE/CELULAR agora sao gravados sempre sem pontuacao (so digitos, e letras no caso do CNPJ alfanumerico), igual ao que CLIENTE_CONTATO.TELEFONE ja fazia. Resolve a inconsistencia de formato apontada na revisao final do plano (achado 7): duas tabelas do mesmo app guardando telefone/documento em formatos diferentes. So afeta escritas novas feitas pelo painel (criar/editar cliente) - registros legados existentes so ficam sem mascara quando forem reeditados e salvos aqui; nao faz backfill em massa dos dados atuais.
painel-clientes-web
Painel administrativo (FastAPI + Jinja2) para gestão de CLIENTE, CLIENTE_CONTATO e geração manual de chave de licenciamento no MySQL do sistema legado.
Rodando localmente (sem Docker)
- Instale as dependências de desenvolvimento:
pip install -r requirements-dev.txt - Defina as variáveis de ambiente necessárias (
ADMIN_USER,ADMIN_PASSWORD,DB_HOST,DB_PORT,DB_NAME,DB_USER,DB_PASSWORD— veja.env.example) diretamente no shell antes de subir a aplicação. Importante: apesar depython-dotenvestar nas dependências, nada no código chamaload_dotenv()hoje — um arquivo.envsozinho NÃO é lido automaticamente fora do Docker. Exporte as variáveis manualmente (ex.:set -a; source .env; set +ano bash, ou$env:...no PowerShell) ou defina-as por outro meio. - Rode a aplicação:
uvicorn app.main:app --reload - Rodando direto na máquina (fora de container), use
DB_HOST=127.0.0.1(porta3307, a mesma do container de devlicenciamento-mysql-dev).
Rodando os testes
pytest -v
Os testes usam defaults definidos em tests/conftest.py (equivalentes ao .env.example) e incluem testes de integração que precisam do container MySQL de dev (licenciamento-mysql-dev, 127.0.0.1:3307) rodando.
Rodando via Docker
- Copie o arquivo de exemplo de variáveis de ambiente e edite
ADMIN_PASSWORD(e demais valores, se necessário):cp .env.example .env - Suba o container:
O
docker compose up -d --builddocker-compose.ymljá usaenv_file: .enve mapeiahost.docker.internalpara o host (viaextra_hosts), então o valor padrãoDB_HOST=host.docker.internaldo.env.examplefunciona também em hosts Docker Linux, não só no Docker Desktop (Windows/Mac). - A aplicação fica disponível em
http://localhost:8010.
Languages
Python
82%
HTML
15.8%
CSS
1.2%
PowerShell
0.6%
Shell
0.2%
Other
0.1%