Skip to content

feat: Fase 4 — React 18 frontend (14 telas, auth, runs, relatórios, grafo)#4

Merged
danzeroum merged 4 commits into
masterfrom
claude/affectionate-dijkstra-29ze9e
Jun 15, 2026
Merged

feat: Fase 4 — React 18 frontend (14 telas, auth, runs, relatórios, grafo)#4
danzeroum merged 4 commits into
masterfrom
claude/affectionate-dijkstra-29ze9e

Conversation

@danzeroum

Copy link
Copy Markdown
Owner

Resumo

  • Vite + React 18 + TypeScript em baw-frontend/
  • 40 arquivos fonte, tsc --noEmit com zero erros
  • Stack completo: TanStack Query v5, Axios (JWT interceptor), Zustand v4 (persist), React Flow v12, Recharts, i18next (pt-BR / en-US)

Telas implementadas (14 de 14)

Tela Rota Componente
Login /login LoginPage — form email/senha → JWT → Zustand store
Runs /runs RunsPage — tabela paginada, filtro de status, skeleton loading
Nova Análise /runs/new NewAnalysisPage — wizard 3 passos (drag-drop .twx → info → submit)
Detalhe do Run /runs/:id RunDetailPage — polling 2s enquanto QUEUED/RUNNING → links para relatório
AI Score /runs/:id/report/ai-score AiScorePage — gauge conic-gradient + RadialBarChart + action items
Grafo /runs/:id/report/graph GraphPage — React Flow v12, node types (task/gateway/event), side panel
Data Types /runs/:id/report/data-types DataTypesPage — tabela colapsível, filtro
Logic /runs/:id/report/logic LogicPage — code viewer dark theme IBM Plex Mono
Issues /runs/:id/report/issues IssuesPage — agrupado por severidade
Segurança /runs/:id/report/security SecurityPage — achados + campos PII
Integridade /runs/:id/report/integrity IntegrityPage — checksums + assinatura + proveniência

Infraestrutura

  • AppShell (sidebar 14-screens nav, topbar com toggle PT-BR/EN, avatar, logout)
  • ProtectedRoute + useAuth hook (Zustand)
  • useRun com refetchInterval callback (para QUEUED/RUNNING → parar quando DONE/FAILED)
  • useReport — 7 hooks de seção do relatório
  • Componentes UI: Button, Card, Badge, Table, Modal, Toast, Spinner, EmptyState
  • CI workflow adicionado (.github/workflows/ci.yml): mvn test + tsc --noEmit + vite build em cada PR

Próximo passo

Fase 5: 7 telas admin (Usuários, Fontes, Metodologia, Configurações, Logs, Audit Log, Uso)


Generated by Claude Code

claude added 4 commits June 15, 2026 22:24
… reports, async)

* build: Phase 2 — Maven multi-module split + BawAnalysisEngine public API + Spring Boot scaffold

- Root pom.xml converted to parent BOM (packaging=pom, modules: baw-motor, baw-api)
- src/ moved to baw-motor/src/ — 328 git-renamed files, no code changes
- baw-motor/pom.xml: inherits from parent, declares own JAXB/Jackson/test deps
- New br.com.danzeroum.bpmbaw.mapeadorxml.api package (4 classes):
  • BawAnalysisEngine interface: analyze() + validate()
  • AnalysisRequest + AnalysisOptions (builder pattern)
  • AnalysisException / ValidationException (checked)
  • BawAnalysisEngineImpl: translates AnalysisRequest → AnalysisConfig → FacadeV2
- baw-api/pom.xml: Spring Boot 3.3.1, depends on baw-motor, PostgreSQL, Flyway, Security
- baw-api scaffold:
  • ProcessVeritasApplication (@SpringBootApplication + @EnableAsync)
  • SecurityConfig: JWT resource server, stateless, RBAC rules
  • AsyncConfig: ThreadPoolTaskExecutor for analysis workers
  • Domain JPA entities: UserEntity, RunEntity, ReportEntity (JSONB payload)
  • Repositories: UserRepository, RunRepository, ReportRepository (JSONB section query)
  • BawMotorAdapter: Spring @component bridging API → engine
  • application.yml: datasource, Flyway, JWT, multipart 200MB, PV settings
  • V1__initial_schema.sql: full Flyway migration (users, runs, reports, audit_log, etc.)
- mvn test (baw-motor): 1/1 green

https://claude.ai/code/session_01Vv1ajUyFWFs99E3k68Zzic

* chore: remove baw-api/target/ from git tracking

https://claude.ai/code/session_01Vv1ajUyFWFs99E3k68Zzic

* feat: Phase 3 — Spring Boot REST API (auth, runs, reports, async analysis)

https://claude.ai/code/session_01Vv1ajUyFWFs99E3k68Zzic

---------

Co-authored-by: Claude <noreply@anthropic.com>
@danzeroum
danzeroum merged commit bd21c33 into master Jun 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants