> For the complete documentation index, see [llms.txt](https://matbagnoletti.gitbook.io/chatterbox/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://matbagnoletti.gitbook.io/chatterbox/chatterbox.md).

# ChatterBox

Made by [@matbagnoletti](https://github.com/matbagnoletti)

Docenti: prof.ssa Monica Ciuchetti ([@mciuchetti](https://github.com/mciuchetti)) e prof.ssa Ilaria Fioroni

Corso di Tecnologie e Progettazione di Sistemi Informatici e Telecomunicazioni (TPSIT) a.s. 2023/2024, presso l'[ITTS A. Volta (PG)](https://www.avoltapg.edu.it/).

Ultima release: [v2.1.1](https://github.com/matbagnoletti/ChatterBox/releases/tag/v2.1.1)

<div align="center"><img src="https://img.shields.io/github/last-commit/matbagnoletti/ChatterBox?style=for-the-badge" alt="Ultimo commit"> <img src="https://img.shields.io/github/languages/top/matbagnoletti/ChatterBox?style=for-the-badge" alt="Linguaggio"></div>

## Descrizione

ChatterBox è un'applicazione di messaggistica (chat) che sfrutta il protocollo UDP in modalità multicast per la comunicazione tra più utenti. Il programma permette, grazie a un'apposita API RESTful, la creazione di gruppi chat e il loro accesso tramite credenziali di autenticazione. L'interfaccia grafica utilizzata è stata realizzata con JavaFX, mentre la gestione della comunicazione è affidata a Java e Kotlin.

## Requisiti

* [JDK](https://www.oracle.com/it/java/technologies/downloads/) (v22.0.1)
* [JavaFX](https://openjfx.io/) (v22.0.1)
* [Maven](https://maven.apache.org/download.cgi)
* [Git](https://git-scm.com/downloads)

È possibile visualizzare le versioni già presenti sul proprio dispositivo mediante i seguenti comandi:

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

## Licenza d'uso

Questo progetto (e tutte le sue versioni) sono rilasciate sotto la [MB General Copyleft License](https://github.com/matbagnoletti/ChatterBox/blob/main/LICENSE).
