Skip to content

BRMW 2.0.0

Latest

Choose a tag to compare

@miltonbsn miltonbsn released this 10 Sep 12:17
· 1 commit to main since this release

BRMW 2.0.0

A versão 2.0.0 é uma reescrita completa do BRMW. A aplicação foi reconstruída em React 19 + TypeScript sobre o JointJS Core (open source) e agora roda inteiramente no navegador: não há backend, não há conta e os modelos ficam salvos na sua máquina, no localStorage.

Esta é a base de código que vai receber a evolução do projeto daqui em diante. O código legado em AngularJS + Express/MongoDB (série 0.x) fica preservado nas tags anteriores e não receberá novas funcionalidades.

A versão hospedada, com contas, armazenamento em nuvem e compartilhamento, continua disponível em app.brmodeloweb.com.

Destaques

🧭 Fluxo completo de modelagem

  • Modelagem conceitual na notação entidade-relacionamento (Peter Chen, com as convenções de Heuser): entidades, relacionamentos, atributos, identificadores, cardinalidades, entidades fracas, hierarquias ISA e entidades associativas.
  • Modelagem lógica com tabelas, colunas, chaves primárias e estrangeiras, e views com expressão de consulta.
  • Modelagem NoSQL (novo módulo) com coleções, documentos embutidos e referências.
  • Conversão automática conceitual → lógico e conceitual → NoSQL, com escolhas interativas nos casos ambíguos (estratégias de ISA, posicionamento de atributos, referência vs. embutimento).
  • Geração de SQL a partir do modelo lógico.

✏️ Editor de diagramas

  • Seleção múltipla, copiar/recortar/colar, desfazer/refazer, snaplines, grade, quebras de página e impressão.
  • Atalhos de teclado: Ctrl/Cmd+S salvar, Ctrl/Cmd+Z / Ctrl/Cmd+Shift+Z desfazer/refazer, Ctrl/Cmd+C/X/V área de transferência, Ctrl/Cmd+P imprimir, Delete/Backspace remover, Esc cancelar.
  • Paleta de formas, barra de ferramentas contextual por elemento, redimensionamento, cores e notas.
  • Todos os widgets do editor (canvas, seleção, toolbar, clipboard, command manager, snaplines, impressão) são implementações próprias em app/editor/, sem dependência do JointJS+.

💾 Persistência local

  • Workspace com criação, renomeação e exclusão de modelos.
  • Modelos salvos no localStorage do navegador. Limpar os dados do site apaga os modelos.

🌐 Interface

  • Português (Brasil) e inglês, via react-i18next.
  • Diálogos acessíveis com Radix UI.

Tecnologia

Camada 0.x 2.0.0
Frontend AngularJS React 19, TypeScript, styled-components, React Router 7
Diagramas jointjs 3.7 @joint/core 4.x (open source) + widgets próprios
Backend Express + MongoDB nenhum (app 100% cliente)
Persistência MongoDB localStorage
Build Webpack 5, yarn Webpack 5, Babel, Sass, pnpm
Testes Jest + Cypress Jest + Testing Library
Runtime Node 20.x, yarn 1.x Node 24.x, pnpm 10.x

Mudanças incompatíveis

  • Sem backend e sem autenticação. Login, cadastro, recuperação de senha, preferências, compartilhamento público e importação por URL foram removidos desta edição.
  • Modelos da versão 0.x não são migrados automaticamente. Eles ficam na base de dados do servidor da versão anterior; esta edição parte de um workspace vazio.
  • Node.js 24.x e pnpm 10.x são obrigatórios para desenvolvimento.
  • Estrutura de pastas nova: app/react/ (aplicação), app/editor/ (widgets), app/joint/ (formas). app/angular/, server_app/ e cypress/ deixaram de existir.

Como rodar

pnpm install
pnpm run:fe

Acesse http://localhost:9000. Para produção, pnpm build gera a saída em app/dist.

Licença

Apache 2.0, mantida.

Full Changelog: v0.3.3...v2.0.0