-
Notifications
You must be signed in to change notification settings - Fork 0
Home
-
Mirco Bisoffi, 209683, mircoloo;
-
Samuele Trainotti, 209397, SamueleTrainotti;
-
Michele Zucchelli, 208977, michelezucchelli;
L’idea del progetto è quella di offrire un servizio online di prenotazione degli appuntamenti di manutenzione della propria bicicletta presso un’officina specializzata.
La repository è divisa in varie cartelle
- server.js (file): Il file principale dove il server gestisce le richieste e le delega alle varie routes
- Routes (directory): Contiene tutti i file node per la gestione delle richieste
- Views (directory): contiene i file ejs (html) in risposta agli utenti
- .gitignore (file): Il file che consente di non caricare alcuni file e cartelle durante i push su git (.env, node_modules)
- .env (file): file in cui vengono conservate le variabili d’ambiente utili allo sviluppo dell’applicazione
- package-json (file): contiene in formato json le informazioni dei moduli installati tramite il gestore di pacchetti npm
Il repository è suddiviso in 7 branch: il branch main/master, nel quale verranno pushate le release funzionanti e principali del progetto una volta testate, e gli altri 6 relativi alle user story.
- Autenticazione (mircoloo): codice relativo la gestione dell’accesso al sito, comprende il login e la registrazione di un nuovo utente (User story 1 e 2);
- Calendario utente (michelezucchelli): codice relativo la pagina di visualizzazione del calendario per gli utenti e la creazione di una nuova prenotazione (User story 3);
- Calendario meccanico (SamueleTrainotti): codice relativo la pagina di visualizzazione del calendario per il gestore dell’officina (User story 4);
- Profilo officina (mircoloo): codice relativo la pagina di visualizzazione del profilo dell’officina (User story 5);
- Profilo utente (SamueleTrainotti): codice relativo la pagina di visualizzazione del profilo dell’utente (User story 6);
- Storico prenotazioni (michelezucchelli): codice relativo la pagina di visualizzazione dello storico delle prenotazioni del singolo utente (User story 7)
https://docs.google.com/spreadsheets/d/1tB4FdPGhCA9OToDhxVgSuypMYsd8dEjFdWlIK1OTCP4/
| Member | Login | Registrazione | Cal Utente | Cal meccanico | Profilo meccanico | Profilo utente | Storico prenotazioni |
|---|---|---|---|---|---|---|---|
| 209683 | X | X | X | ||||
| 208977 | X | X | |||||
| 209397 | X | X |
- Avere un sistema di autenticazione e di creazione dell’account funzionante
- Permettere la creazione e la cancellazione di prenotazioni da parte dell’utente
- Fornire adeguate interfacce API
- Il codice è stato adeguatamente testato
- Il codice è adeguatamente commentato
- Fornire la documentazione del progetto
Gli obiettivi principali del primo sprint sono:
- Creare la repository git e renderla remota su gitHub, condivisa tra i membri del progetto
- Iniziare lo sviluppo dell'applicazione, creando una base per quello che sarà lo sviluppo completo nello sprint finale
- Ripartire il lavoro tra i componenti del gruppo, ognuno dei quali contribuirà all’aggiornamento della repository tramite commitments
- Creare la documentazione
- Effettuare i primi test sul codice sviluppato
Il team ha pianificato i meeting per i giorni successivi, ha assegnato le parti e i ruoli, ed ha compilato il seguente documento https://docs.google.com/spreadsheets/d/1bCOJizk6q2gFjz_hiUIBZWgxrhlkUtDgFX2FD8Ub9eU/
https://docs.google.com/spreadsheets/d/1fImK8UhUtimou9DObeRLy8ySwZfU7dPxKbQNFWX13R4/
| Data | Commento | Problematiche riscontrate |
|---|---|---|
| 12/05 | ||
| 13/05 | ||
| 14/05 | Assegnazione tasks ai membri del gruppoCreazione repository GIT e impostazione della documentazione | |
| 15/05 | Confronto sull’impostazione del progetto e inizio sviluppo design API | Difficoltà nei primi tentativi di branching e merging |
| 16/05 | Discussione sul metodo REST e possibile implementazione nel progettoDiscussione sulla prima prova di UI | |
| 17/05 | Aggiornamenti sull’implementazione API | |
| 18/05 | Fine base implementazione APIAssegnamento prossimi tasks al gruppo | |
| 19/05 | Discussione sulla fine della prima implementazione API REST | Controllo generale del lavoro svolto fino’ora |
| 20/05 | ||
| 21/05 | Aggiornamenti sullo sviluppo backend e frontendCollegamento database MongoDB | |
| 22/05 | Fine della prima versione dell’applicazioneDiscussione sui vari testcases | |
| 23/05 | Fine documentazioneRevisione generale del progetto |
Il team ha analizzato nuovamente il product backlog, ridefinendo alcuni aspetti, principalmente relativi il campo Estimate.
Durante lo sprint, il team è riuscito a cooperare, scambiarsi opinioni e aiutarsi a vicenda durante i meetings svolti, discutendo i lavori svolti singolarmente dai membri del gruppo, soprattutto grazie alla buona gestione della ripartizione dei lavori e all’organizzazione dei meetings e alle strategie di branching del progetto. Riuscendo così a raggiungere così gli obiettivi precedentemente stabiliti e creando una buona base per quello che sarà lo sprint successivo.
| ASPETTI POSITIVI | ASPETTI NEGATIVI | SOLUZIONI |
|---|---|---|
| Ripartizione dei tasks per ogni membro | ||
| Gestione della repository git | ||
| Impiegato molto tempo per imparare i nuovi strumenti | Integrare dalle slide, anche informazioni raccolte dal web | |
| Collaborazione di tutto il team | ||
| Imparate nuove competenze |
Gli obiettivi principali del secondo sprint sono:
- Continuare lo sviluppo dell’applicazione web iniziata nello sprint #1
- Sviluppare i casi di test per l’applicazione web
- Aggiornare la documentazione
- Valutare eventuali modifiche e ridefinizioni degli aspetti principali del progetto
Il team ha continuato ad utilizzare la strategia adottata per il primo sprint.
https://docs.google.com/spreadsheets/d/1bCOJizk6q2gFjz_hiUIBZWgxrhlkUtDgFX2FD8Ub9eU/
https://docs.google.com/spreadsheets/d/1fImK8UhUtimou9DObeRLy8ySwZfU7dPxKbQNFWX13R4/
| Data | Commento | Problematiche riscontrate |
|---|---|---|
| 24/05 | Organizzazione e pianificazione del lavoro da svolgere nei giorni futuri: casi di test, merging dei branch, documentazione ed eventuale ridefinizione di alcuni aspetti dell'applicazione . | |
| 25/05 | Analisi e confronto su quanto sviluppato individualmente. | |
| 26/05 | ||
| 27/05 | Analisi e confronto su quanto sviluppato individualmente, riepilogo e pianificazione del lavoro da svolgere nei giorni futuri. | |
| 28/05 | ||
| 29/05 | Discussione e analisi sui casi di test. | Difficoltà nell'implementazione dei casi di test |
| 30/05 | ||
| 31/05 | Discussione e analisi sui casi di test. | Difficoltà nell'implementazione dei casi di test |
| 01/06 | Discussione e analisi sui casi di test. | Difficoltà nell'implementazione dei casi di test |
| 02/06 | ||
| 03/06 | Discussione e analisi sui casi di test. | |
| 04/06 | Revisione del lavoro svolto. | Problematica delete prenotazione. Cercando anche online, si è scelto di usare post |
| 05/06 | Discussione strategie di merging. | |
| 06/06 | Revisione del lavoro svolto. | |
| 07/06 | Revisione del lavoro svolto. |
Il team ha rivalutato difficoltà e tempo della parte dei casi di test
Come per lo scorso sprint, il team è riuscito a cooperare, scambiarsi opinioni e aiutarsi a vicenda durante i meetings svolti, discutendo i lavori svolti singolarmente dai membri del gruppo, soprattutto grazie alla buona gestione della ripartizione dei lavori e all’organizzazione dei meetings e alle strategie di branching del progetto. La problematica principale è stata il tempo: tra tirocini, altri progetti e preparazione agli esami è stato complicato coordinarsi e trovare il tempo per i meeting.
| ASPETTI POSITIVI | ASPETTI NEGATIVI | SOLUZIONI |
|---|---|---|
| Buona organizzazione e suddivisione/ripartizione del carico di lavoro | ||
| Cooperazione e collaborazione all'interno del team | ||
| Difficoltà nel trovare orari adatti a tutti per i meeting a causa di altri impegni universitari | ||
| Imparate nuove competenze |
Linguaggi usati:
- HTML5
- CSS
- Javascript
Framework e strumenti:
- Node js
- Npm
- Mongodb
- ejs
- Heroku
- Travis
Moduli npm:
- bcrypt
- bcryptjs
- body-parser
- connect-mongodb-session
- cookie-parser
- ejs
- express-ejs-layouts
- express-session
- jsonwebtoken
- mongoose
- semver
- dotenv
- session
Questo progetto ci ha permesso di:
- Imparare metodologie agili per lavorare in team
- Entrare nel vivo dello sviluppo di un software articolato
- Acquisire nuove competenze tecniche