|
6 | 6 | <a href="#docs">Documentazione</a>
|
7 | 7 | </p>
|
8 | 8 |
|
9 |
| -<p align="center">Semplice rubrica telefonica realizzata in Java che consente la gestione di contatti(nome, cognome, numero di telefoni e indirizzi e-mail), attraverso un'interfaccia grafica (GUI) realizzata in JavaFX.</p> |
| 9 | +<p align="center">Semplice rubrica telefonica realizzata in Java, che consente la gestione di contatti (nome, cognome, numero di telefoni e indirizzi e-mail), attraverso un'interfaccia grafica (GUI) realizzata in JavaFX.</p> |
10 | 10 |
|
11 |
| -<h2 id="tech">💻 Tecnologie usate</h2> |
| 11 | +<h2 id="tech">💻 Tecnologie usate e dipendenze software</h2> |
12 | 12 |
|
13 | 13 | 
|
14 | 14 | 
|
15 | 15 | 
|
16 | 16 | 
|
17 | 17 | 
|
18 | 18 |
|
| 19 | +L'applicazione é stata scritta in Java e necessita della JVM per l'esecuzione e di una jdk-23 installata. É stata testata con l'ultima jdk fornita direttamente da [Oracle](https://www.oracle.com/java/technologies/downloads/) ma non dovrebbero esserci problemi anche con le versioni alternative. |
| 20 | + |
| 21 | +L'interfaccia grafica é stata realizzata in javaFX, mediante [Scene Builder](https://gluonhq.com/products/scene-builder/). Nonostante sia stata utilizzata la jdk-23, che non include piú al suo interno le librerie relative a javaFX, non é necessario installare il relativo SDK in quanto é presente uno script [Maven](https://maven.apache.org/) che si occupa automaticamente della gestione delle dipendenze. In tal caso é necessaria una connessione di rete affinché Maven possa scaricare le dipendenze dal relativo repository. |
19 | 22 | <h2 id="docs">📕 Documentazione</h2>
|
20 |
| -<a href="https://docs.google.com/document/d/1jKyEV_gxnbgjILj21dkqXaTgSgP6dwEA0LxO7k3-BeE/edit?usp=sharing" target="_blank"> |
21 |
| - <img src="https://img.shields.io/badge/googledocs-%230018A8.svg?style=for-the-badge&logo=googledocs&logoColor=white"> |
22 |
| -</a> |
23 | 23 |
|
24 |
| -<a href="https://www.figma.com/design/yRfKYzcJxZzwm7U6lgOw9i/Rubrica-Telefonica?node-id=5-8&t=NYnUuBUaWFlwxWm4-1" target="_blank"> |
25 |
| - <img src="https://img.shields.io/badge/figma-%23F24E1E.svg?style=for-the-badge&logo=figma&logoColor=white" alt="Figma"> |
26 |
| -</a> |
| 24 | +- [Documentazione Latex](docs/Documentazione.pdf) ufficiale del progetto |
| 25 | +- [Documentazione Doxygen](https://emanueletocci.github.io/uni-swe-project/), disponibile anche al seguente [link](https://emanueletocci.github.io/uni-swe-project/) mediante github pages |
| 26 | +- [Mockup GUI](https://www.figma.com/design/yRfKYzcJxZzwm7U6lgOw9i/Rubrica-Telefonica?node-id=5-8&t=NYnUuBUaWFlwxWm4-1) figma |
| 27 | + |
| 28 | +### 🛠️ Guida al Building |
| 29 | +Per prima cosa é necessario clonare il progetto in locale. Si puó usare il seguente comando da terminale o utilizzare un tool dotato di GUI come Github Desktop. |
| 30 | + |
| 31 | + git clone https://github.com/emanueletocci/uni-swe-project.git |
| 32 | + |
| 33 | +All'interno della cartella appena scaricata sono presenti 2 sottocartelle: |
| 34 | +- [docs](docs): contiene la documentazione (latex e doxygen) e i diagrammi UML del progetto |
| 35 | +- [sources/Rubrica](sources): contiene il codice sorgente, il pom di maven e alcuni file di configurazione degli IDE. Il codice sorgente in particolar modo, si trova in `src/main`, secondo l'organizzazione del codice imposta da Maven. |
| 36 | + |
| 37 | +Per la compilazione é necessario raggiungere la directory `sources/Rubrica`. Dalla radice `uni-swe-project` si puó usare il seguente comando da terminale: |
| 38 | + |
| 39 | + cd sources/Rubrica |
| 40 | + |
| 41 | +A questo punto é possibile: |
| 42 | +- Compilare tutti i sorgenti: `mvn compile` |
| 43 | +- Eseguire gli unit test: `mvn test` |
| 44 | +- Cancellare i file prodotti dalle precedenti compilazioni: `mvn clean` |
| 45 | +- Eseguire l'applicazione: `mvn javafx:run` |
| 46 | + |
| 47 | +Se non si vuole seguire l'approccio da riga di comando é comunque possibile importare il progetto (`sources/Rubrica`) in un IDE come IntelliJ o netbeans, caricando il file `pom.xml` fornito. |
| 48 | + |
| 49 | +Qualora ci fosse qualche problema con lo script Maven (`pom.xml`) fornito, é comunque possibile compilare ed eseguire l'applicazione scaricando manualmente la SDK di javaFX e specificando il suo percorso, come spiegato nella [wiki ufficiale](https://openjfx.io/openjfx-docs/#install-javafx). |
| 50 | + |
| 51 | +### ▶️ File .jar forniti |
| 52 | +Nell'ultima release sono stati forniti 2 file .jar direttamente eseguibili, realizzati mediante il plugin `shade` di maven che consente di incorporare direttamente le dipendenze (javaFX) scaricate nel .jar. É presente una versione `aarch64` ed una versione `x86`, bisogna tuttavia tener presente che la compilazione é avvenuta in ambiente linux (x86) e macOS (aarch64) pertanto le dipendenze incorporate da `shade` potrebbero non essere completamente soddisfatte sugli altri sistemi operativi, dal momento che le dipendenze scaricate da Maven sono specifiche per quel determina SO. |
27 | 53 |
|
28 |
| -- [Documentazione Latex](docs/Documentazione.pdf) |
29 |
| -- [Mockup GUI](https://www.figma.com/design/yRfKYzcJxZzwm7U6lgOw9i/Rubrica-Telefonica?node-id=5-8&t=NYnUuBUaWFlwxWm4-1) |
30 |
| -- [Bozze di progetto](https://docs.google.com/document/d/1jKyEV_gxnbgjILj21dkqXaTgSgP6dwEA0LxO7k3-BeE/edit?usp=sharing) |
31 |
| -- [Documentazione Doxygen](https://emanueletocci.github.io/uni-swe-project/) |
32 | 54 |
|
33 |
| -<h2 id="collab">🧑🤝🧑 Membri</h2> |
| 55 | +<h2 id="collab">🧑🤝🧑 Gruppo07</h2> |
34 | 56 |
|
35 | 57 | - [Emanuele Tocci](https://github.com/emanueletocci)
|
36 | 58 | - [Alessio Leo](https://github.com/Al3Leo)
|
|
0 commit comments