An open API service indexing awesome lists of open source software.

https://github.com/haan/modelizer

A database modeling tool for teaching
https://github.com/haan/modelizer

database database-modeling education teaching teaching-tool

Last synced: 9 days ago
JSON representation

A database modeling tool for teaching

Awesome Lists containing this project

README

          

# Modelizer

Modelizer is a lightweight database modeling tool developed for teaching the database modeling process (initially for courses in Luxembourg).

- Online version: https://www.modelizer.lu/
- Download: GitHub Releases
- Docker image: https://hub.docker.com/r/haanlaurent/modelizer

## Run locally (Windows)

1. Download the latest release from the GitHub Releases page.
2. Unzip it anywhere on your computer.
3. Double-click `modelizer.bat`
4. Open your browser at http://localhost:8080

The release includes a tiny local webserver based on miniserve:
https://github.com/svenstaro/miniserve

## Run with Docker

Run the latest published image from Docker Hub:
https://hub.docker.com/r/haanlaurent/modelizer

```bash
docker run --rm -p 8080:80 haanlaurent/modelizer:latest
```

Then open: http://localhost:8080

Run a specific version tag:

```bash
docker run --rm -p 8080:80 haanlaurent/modelizer:
```

Build and run locally from this repository:

```bash
docker build -t modelizer:local .
docker run --rm -p 8080:80 modelizer:local
```

## Supported modeling elements

Modelizer supports:
- different modeling levels:
- conceptual model (CDM)
- logical model (LDM)
- physical model (PDM)
- classes
- associations
- associative associations
- reflexive associations
- composite aggregations (enable in menu first)
- multiplicities
- attributes
- attribute types
- default values
- constraints: Null, Unique, Auto Increment
- import from Java Modelizer files

## What Modelizer does (and does not do)

Modelizer is intentionally a teaching tool that simplifies drawing and defining models.
It contains no validation logic and does not generate relationships automatically from associations.
It does not help you make the "right" modeling decisions — you do.

## Export & storage

- Export format: PNG
- Models must be downloaded manually (no server-side storage)
- Settings are stored in browser localStorage

## Acknowledgments

- ChartDB (interface design inspiration): https://github.com/chartdb/chartdb/
- Java Modelizer by Bob Fisch: https://modelizer.fisch.lu/
- miniserve (local webserver used in the release bundle): https://github.com/svenstaro/miniserve