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

https://github.com/saidone75/simple-mindmaps

Una web app leggera e immediata per creare mappe mentali in pochi click
https://github.com/saidone75/simple-mindmaps

mind-map mindmap mindmaps

Last synced: 27 days ago
JSON representation

Una web app leggera e immediata per creare mappe mentali in pochi click

Awesome Lists containing this project

README

          

# 🧠✨ Alice's Simple Mind Maps

Benvenuto in **Alice's Simple Mind Maps**, una web app leggera e immediata per creare mappe mentali in pochi click.
Pensata per essere intuitiva anche per chi non Γ¨ tecnico ma costruita con uno stack solido e moderno.

[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
![Java CI](https://github.com/saidone75/simple-mindmaps/actions/workflows/build.yml/badge.svg)
[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=saidone75_alice-s-simple-mind-maps&metric=security_rating)](https://sonarcloud.io/summary/new_code?id=saidone75_alice-s-simple-mind-maps)
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=saidone75_alice-s-simple-mind-maps&metric=reliability_rating)](https://sonarcloud.io/summary/new_code?id=saidone75_alice-s-simple-mind-maps)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=saidone75_alice-s-simple-mind-maps&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?saidone75_alice-s-simple-mind-maps)

## πŸš€ Cos'Γ¨

Simple MindMap Γ¨ un'applicazione Java/Spring Boot con interfaccia Thymeleaf che permette di:

- creare una nuova mappa,
- aggiungere rami e sotto-rami,
- personalizzare testo e stile,
- esportare il risultato.

Obiettivo: **trasformare idee in una struttura visiva chiara**.

---

## 🌟 Caratteristiche principali

- βœ… Creazione mappa rapida
- βœ… Template pronti (Italiano, Scienze, Storia, Geografia)
- βœ… Generazione mappe con AI
- βœ… Drag & drop dei nodi
- βœ… Modifica testo, colore e dimensione font
- βœ… Autosave dei nodi
- βœ… Export PNG
- βœ… Export PDF stampabile
- βœ… Eliminazione mappe e nodi

---

## 🧱 Stack tecnologico

### Backend
- **Java 21**
- **Spring Boot 3.3.1**
- **Spring Data JPA**
- **H2 Database** (persistito su file)

### Frontend
- **Thymeleaf**
- **JavaScript vanilla**
- **SVG** per rendering visuale della mappa

### Build & Tooling
- **Maven**

---

## πŸ“‹ Prerequisiti

Prima di avviare il progetto assicurati di avere:

- **JDK 21** installato
- **Maven 3.9+** disponibile da terminale
- Un browser moderno (Chrome, Edge, Firefox)

Verifica veloce:

```bash
java -version
mvn -version
```

---

## πŸ› οΈ Avvio locale

1. Clona il repository
2. Avvia l'app:

```bash
mvn spring-boot:run
```

3. Apri nel browser:

```text
http://localhost:8080/maps
```

---

## πŸ”Œ API / Endpoints principali

> Nota: l'app usa pagine server-side Thymeleaf + chiamate AJAX per i nodi.

### UI routes
- `GET /maps` β†’ elenco mappe
- `GET /maps/{id}` β†’ editor della mappa

### Operazioni mappe (backend)
- Creazione nuova mappa
- Eliminazione mappa
- Export HTML stampabile

### Operazioni nodi (backend/API interne)
- Creazione nodo (principale/figlio)
- Aggiornamento nodo (testo, colore, font, posizione)
- Eliminazione nodo
- Salvataggio automatico modifiche

---

## πŸ’Ύ Persistenza dati

- Database locale H2 persistito su file in:
- `./data/mindmapdb`
- Nessuna dipendenza da DB esterno per lo sviluppo iniziale.

---

## πŸ“€ Export

- **PNG**: export client-side dal browser
- **HTML**: export server-side in formato semplice e stampabile

---

## πŸ§ͺ Idee per evoluzioni future

- Export PDF server-side
- Undo/Redo completo
- Multiutenza con login
- Libreria icone e sticker
- Condivisione mappe via link

---

## 🀝 Contributi

Hai idee per rendere l'app ancora piΓΉ utile o divertente?
Apri una issue o proponi una PR: ogni contributo Γ¨ il benvenuto. πŸš€