Skip to content
Braulio Diez edited this page Feb 5, 2024 · 19 revisions

Mongo Modeler Wiki

In this wiki, we are going to provide the guidelines for the project implementation.

Low fidelity prototype

project structure

Road to MVP

Missing:

  • Select a given relation or table.
  • Remove a given relation or table.
  • Load / Save
  • Edit Relation

Nice to have

  • Undo/Redo

Issues to get started

Application

Initially, we are not going to rely on component libraries (what we are going to use is basic), we have to:

  • Provide a solution for displaying modal dialogs.
  • Componentize some basic components (input, combobox).
  • Create a table with commands (it would be ideal to use drag and drop to move rows, but we will leave that for later).
  • Provide a solution for theming in light and dark mode.
  • Choose an icon library and set up some toolbar-type buttons that fit well.
  • Table editing and double-click relationship.
  • Object selection (simple), select a table, select a relationship and I can delete it.

Diagram

  • Set up SVG canvas (there's some testing done, derive the definitive method).
  • Establish basic table component, two rectangles with drag & drop.
  • Establish fields with subfields (drilldown (there's technical testing done, derive the definitive form).
  • Align fields in a row.
  • Paint relationships and redraw (for now directly, later on, path calculation).
  • Allow a table to grow wider.

Edition

  • Form for creating/editing a relationship.
  • Form for creating/editing a table (there's testing done, derive the definitive version).

Export

At the export level, several research tasks need to be conducted:

  • Export the canvas to SVG and download (this should be straightforward since we are going to work with SVG).
  • Export the canvas to PNG and download (look into how to do this).
  • Export the canvas to a MongoSchema (here we could use EJS).

UI

Icons: https://yesicon.app/ph?s=light

Clone this wiki locally