- Il corso di Progettazione, algoritmi e computabilità per l'anno accademico 2023/2024.
- Docente: Prof.ssa Patrizia Scandurra
- Sviluppatori: Arash Abedi & Daniele Alberti
Una web app progettata per facilitare la comunicazione e la collaborazione tra studenti universitari. Gli utenti possono registrarsi, fare login, aggiornare i loro profili e inviare notifiche per formare gruppi di studio basati su interessi comuni. Il sistema non gestisce direttamente gli studenti, ma permette loro di interagire e organizzarsi autonomamente in gruppi di studio.
- Registrazione e Login: Gli utenti possono creare un nuovo account o accedere con le credenziali esistenti.
- Aggiornamento Profilo: Gli utenti possono modificare le informazioni del loro profilo.
- Notifiche: Gli utenti possono inviare e ricevere notifiche per creare e unirsi a gruppi di studio.
- Gestione Gruppi di Studio: Gli utenti possono formare gruppi di studio basati su interessi comuni e collaborare con altri membri del gruppo.
- Spring Boot: Framework per lo sviluppo di applicazioni Java basate su Spring.
- Spring Security: Per la gestione della sicurezza e dell'autenticazione.
- Thymeleaf: Motore di template per la generazione di pagine web.
- Bootstrap: Un framework HTML, CSS e JavaScript più popolare per sviluppare siti web responsivi e mobile-first.
- H2 Database: Database embedded per lo sviluppo e il test.
- JUnit: Framework per la scrittura di test unitari.
- Playwright: Un framework per il test e l'automazione web. Permette di testare Chromium, Firefox e WebKit utilizzando un'unica API.
- Postman: Una piattaforma per sviluppatori che facilita il testing, lo sviluppo e la documentazione delle API tramite un'interfaccia intuitiva.
- Maven: Sistema di gestione dei progetti e delle dipendenze.
Il progetto è stato sviluppato utilizzando il modello di sviluppo Agile. In particolare, abbiamo adottato il modello Agile in coppia. Abbiamo lavorato insieme in modo iterativo e incrementale per garantire una consegna continua di valore e una risposta rapida ai cambiamenti nei requisiti.
- Iterazioni Brevi: Sviluppo in cicli brevi per garantire feedback frequente e miglioramenti continui.
- Collaborazione Stretta: Lavoro a stretto contatto tra i programmatori per risolvere rapidamente i problemi e migliorare il prodotto.
- Adattamento ai Cambiamenti: Capacità di adattarsi ai cambiamenti nei requisiti e nelle condizioni del progetto.
- Focus sul Valore: Concentrarsi sulla consegna di valore reale e tangibile agli utenti finali.
- Clonare il Repository: Utilizzare git clone per clonare il repository sul proprio ambiente locale.
- Importare il progetto in STS: Aprire Spring Tool Suite (STS) e importare il progetto come Maven Project.
- Installare le Dipendenze: Una volta importato, STS scaricherà automaticamente le dipendenze del progetto.
- Avviare l'applicazione: selezionare Run As > Spring Boot App per avviare l'applicazione.
- Accedere all'applicazione:Aprire il browser e navigare su http://localhost:8080.