Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aka-buccia/jfxprjct
JavaFX desktop application designed to train your Java programming skills
https://github.com/aka-buccia/jfxprjct
java javafx javafx-desktop-apps
Last synced: about 2 months ago
JSON representation
JavaFX desktop application designed to train your Java programming skills
- Host: GitHub
- URL: https://github.com/aka-buccia/jfxprjct
- Owner: aka-buccia
- Created: 2024-08-06T10:50:19.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2024-09-23T09:31:15.000Z (4 months ago)
- Last Synced: 2024-11-19T21:10:01.914Z (about 2 months ago)
- Topics: java, javafx, javafx-desktop-apps
- Language: Java
- Homepage:
- Size: 42.8 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Descrizione
JFXPRJCT è una applicazione desktop sviluppata in JAVAFX dal gruppo SPT per il progetto del corso di Programmazione Internet.
L'obiettivo finale è creare un'applicazione multiutente per l'apprendimento e l'allenamento delle conoscenze del linguaggio Java.# Funzionamento
## Utilizzo
![schema jfxprjct](https://github.com/user-attachments/assets/645cc5fc-2a82-451f-98f8-e7e04f50f45e)## Struttura progetto
Il progetto è strutturato in due macropacchetti, _resources_ contenente tutte le risorse (immagini, file, scene) e _java_ contenente i file java da compilare.I file java sono divisi a loro volta per momento di esecuzione all'interno dell'applicazione, ossia _access_, _dashboard_, _exercise_ e _general_ per quelli che gestiscono operazioni generali richiamate in più momenti dell'esecuzione.
Per ogni cartella è presente un controller, che connette backend e frontend, e un interrogatore db che si occupa delle interrogazioni al database necessarie.## Struttura database
È un database relazionale SQlite locale serverless con tre tabelle:
- **Users** contenente nei record gli utenti che si registrano, con chiave primaria _idUser_
- **Exercises** contenente nei record gli esercizi, con chiave primaria _idExercise_
- **DoneExercises** che riflette l'associazione M:N Utente ha svolto Esercizio, in ogni record è presente idUser e idExercise
## Librerie esterne
Per l'esecuzione dell'applicazione è richiesta l'installazione di tre librerie esterne:
- _javafx_ per le componenti grafiche
- _slf4j-api_ e _slf4j-nop_ per il sistema di logging
- _sqlite-jdbc_ per la connessione al database
# Regole di sviluppo
- nomi variabili esclusivamente in inglese seguendo regola camelCase
- commenti codice, commit e readme in italiano
- gli issue, quando aperti, vanno contrassegnati con le etichette appropriate, una che distingua fra _bug_, _feature_ e _enhancement_ e una seconda che specifichi quale aspetto è coinvolto (_ux_, _ui_, _database_, _codice_).# Crediti
All'interno del progetto ci siamo serviti della palette [NordTheme](https://www.nordtheme.com/) e dell'immagine di [Pawel Czerwinski](https://unsplash.com/it/foto/BPrk2cOoCq8)