Reescrita dos geradores: biblioteca IGenerator, minimal API e novo frontend #1

Merged
Marco merged 2 commits from feature/boost into master 2026-10-11 23:55:53 +01:00
Owner

Reescrita completa do Factory Id — Geradores.

O que muda

  • GeradoresService: cada tipo é um IGenerator registado em GeneratorRegistry. 16 geradores: NIF, NIPC, NISS, Cartão de Cidadão, passaporte, IBAN, NIB, cartão de crédito, referência Multibanco, pessoa fictícia, telefone, código postal, email, matrícula, EAN e UUID. Algoritmos partilhados em Core/Checksums.cs. Remove a camada DAL/EF.
  • GeradoresWS: minimal APIs em /api/v1 (listar, gerar em lote até 1000 com seed, validar, detectar tipo), OpenAPI + Scalar em /docs, /health, CORS só para GET. Remove os controllers antigos.
  • UnitTest: testes de ida e volta para todos os geradores e opções, valores conhecidos, detecção e testes de integração da API.
  • geradoresfe: UI construída a partir dos metadados da API, validador livre, exportação CSV/JSON/TXT, modo escuro. nginx com API_UPSTREAM configurável em runtime.
  • Infra: Dockerfiles, docker-compose.yml e Jenkinsfile (agora corre testes .NET e lint/testes do frontend antes do build).
  • Documentação: README na raiz e em cada projecto.

Documentação

Notas

  • Rotas antigas do frontend (/NIF, /NISS, /CC) redireccionam para /gerador/{id}.
  • O Jenkins passa a precisar do .NET 10 SDK e do Node no agente.
  • O passo de deploy usa k8s/deployment.template.yaml, que não existe no repositório.

Como testar

dotnet test UnitTest
cd geradoresfe && npm ci && npm run lint && npm test
docker compose up --build   # http://localhost:3000

🤖 Generated with Claude Code

Reescrita completa do Factory Id — Geradores. ## O que muda - **GeradoresService**: cada tipo é um `IGenerator` registado em `GeneratorRegistry`. 16 geradores: NIF, NIPC, NISS, Cartão de Cidadão, passaporte, IBAN, NIB, cartão de crédito, referência Multibanco, pessoa fictícia, telefone, código postal, email, matrícula, EAN e UUID. Algoritmos partilhados em `Core/Checksums.cs`. Remove a camada DAL/EF. - **GeradoresWS**: minimal APIs em `/api/v1` (listar, gerar em lote até 1000 com `seed`, validar, detectar tipo), OpenAPI + Scalar em `/docs`, `/health`, CORS só para GET. Remove os controllers antigos. - **UnitTest**: testes de ida e volta para todos os geradores e opções, valores conhecidos, detecção e testes de integração da API. - **geradoresfe**: UI construída a partir dos metadados da API, validador livre, exportação CSV/JSON/TXT, modo escuro. nginx com `API_UPSTREAM` configurável em runtime. - **Infra**: Dockerfiles, `docker-compose.yml` e `Jenkinsfile` (agora corre testes .NET e lint/testes do frontend antes do build). - **Documentação**: README na raiz e em cada projecto. ## Documentação - [README](https://git.homeware.pt/Moinhos/Geradores/src/branch/feature/boost/README.md) - [GeradoresService](https://git.homeware.pt/Moinhos/Geradores/src/branch/feature/boost/GeradoresService/README.md): geradores, algoritmos, como adicionar um tipo - [GeradoresWS](https://git.homeware.pt/Moinhos/Geradores/src/branch/feature/boost/GeradoresWS/README.md): endpoints, configuração, Docker - [UnitTest](https://git.homeware.pt/Moinhos/Geradores/src/branch/feature/boost/UnitTest/README.md): o que cada ficheiro de testes cobre - [geradoresfe](https://git.homeware.pt/Moinhos/Geradores/src/branch/feature/boost/geradoresfe/README.md): scripts, páginas, estrutura, nginx ## Notas - Rotas antigas do frontend (`/NIF`, `/NISS`, `/CC`) redireccionam para `/gerador/{id}`. - O Jenkins passa a precisar do .NET 10 SDK e do Node no agente. - O passo de deploy usa `k8s/deployment.template.yaml`, que não existe no repositório. ## Como testar ```bash dotnet test UnitTest cd geradoresfe && npm ci && npm run lint && npm test docker compose up --build # http://localhost:3000 ``` 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Marco added 2 commits 2026-10-11 23:53:27 +01:00
- GeradoresService: cada tipo passa a ser um IGenerator (NIF, NIPC, NISS, CC,
  passaporte, IBAN, NIB, cartões, referência MB, pessoa, telefone, código postal,
  email, matrícula, EAN, UUID) registado em GeneratorRegistry; remove DAL/EF
- GeradoresWS: minimal APIs em /api/v1 com OpenAPI + Scalar e health check
- UnitTest: testes de ida e volta, valores conhecidos, detecção e API
- geradoresfe: UI construída a partir dos metadados da API, validador livre,
  exportação CSV/JSON/TXT, nginx com API_UPSTREAM configurável
- Docker, docker-compose e Jenkinsfile actualizados

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Marco merged commit a3af5936d2 into master 2026-10-11 23:55:53 +01:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Moinhos/Geradores#1