1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-24 05:54:18 +00:00

📔 Update a lot of things

This commit is contained in:
Steffo 2021-05-29 19:41:07 +02:00
parent a8d7929653
commit 631a57177b
Signed by: steffo
GPG key ID: 6965406171929D01
83 changed files with 1474 additions and 1254 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

Before

Width:  |  Height:  |  Size: 438 KiB

After

Width:  |  Height:  |  Size: 438 KiB

View file

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View file

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View file

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View file

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View file

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

View file

@ -1,10 +1,29 @@
Conclusioni Conclusioni
=========== ===========
* Il *team* ritiene di aver **imparato un sacco di cose nuove**, acquisendo dimestichezza con vari linguaggi e software.
* Il *team* ritiene che **l'organizzazione e collaborazione** tra tutti i membri del gruppo è stata eccellente: * Il team dimostra di aver **imparato numerose nuove nozioni**, acquisendo dimestichezza con vari linguaggi e software,
come:
* Python
* NodeJS
* reStructuredText
* IntelliJ IDEA
* Taiga
* Git
* GitLab
* SystemD
* *Twitter*
* Il team ritiene che l'**organizzazione e collaborazione** tra tutti i membri del gruppo è stata eccellente:
* Ciascuno aveva un suo compito e non sono sorti conflitti. * Ciascuno aveva un suo compito e non sono sorti conflitti.
* L'organizzazione strutturata ci ha permesso di procedere a ritmo sostenuto dall'inizio alla fine, garantendo un svolgimento modulare.
* Il *team* ritiene che **alcune attività**, come le varie riunioni, **sarebbero state più edificanti e veloci** se fossero state effettuate in presenza, purtroppo la pandemia e la distanza non lo hanno reso possibile. * L'organizzazione strutturata ci ha permesso di procedere a ritmo sostenuto dall'inizio alla fine,
realizzando un prodotto efficace e modulare.
* Parte del team ritiene che **alcune attività**, come le varie riunioni, **sarebbero state più edificanti e veloci** se
fossero state effettuate in presenza, purtroppo la pandemia e la distanza non lo hanno reso possibile.
* Parte del team ritiene invece che il **lavoro a distanza** ci ha permesso di adottare metodi migliori di
**comunicazione asincrona**, permettendo ai membri di lavorare indipendentemente uno dall'altro in base alle proprie
disponibilità di tempo.

View file

@ -1,71 +1,35 @@
Processo di sviluppo Processo di sviluppo
==================== ====================
- Lo sviluppo è stato suddiviso in **4 sprint**, ciascuno della durata di *2 settimane* Ruoli
-----
Sprint 0 - dal 5 Aprile al 18 Aprile Per lavorare più efficientemente, ci siamo assegnati uno o più "ruoli" in base alle nostre competenze.
------------------------------------
- `Diari dei partecipanti dello sprint 0`_ :Stefano Goldoni: Product Owner, Tester
:Flavia Cocca: Scrum Master, UI Designer, Documentazione
:Chiara Calzolari: UI Designer, Translator
:Stefano Pigozzi: Frontend Developer, Sysadmin
:Giovanni Anniballi: Lead Tester
:Giorgio Minoccari: Analyst, Crawler Developer
:Lorenzo Balugani: Database Architect, Backend Developer
.. _Diari dei partecipanti dello sprint 0: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint0/index.html#registro-attivita
- `Retrospettiva dello sprint 0`_ Sprint
------
.. _Retrospettiva dello sprint 0: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint0/index.html#retrospettiva-finale Lo sviluppo si è svolto in **4 Sprint** dalla durata di **2 settimane ciascuno**.
Sprint 1 - dal 19 Aprile al 2 Maggio .. toctree::
------------------------------------ :maxdepth: 1
Burndown dello sprint 1 sprint0/index
^^^^^^^^^^^^^^^^^^^^^^^ sprint1/index
.. image:: Burndown1.png sprint2/index
:width: 600 sprint3/index
- `Diari dei partecipanti dello sprint 1`_
.. _Diari dei partecipanti dello sprint 1: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint1/index.html#registro-attivita Burndown chart complessiva
--------------------------
- `Retrospettiva dello sprint 1`_
.. _Retrospettiva dello sprint 1: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint1/index.html#retrospettiva-finale
Sprint 2 - dal 3 Maggio al 16 Maggio
------------------------------------
Burndown dello sprint 2
^^^^^^^^^^^^^^^^^^^^^^^
.. image:: Burndown2.png
:width: 600
- `Diari dei partecipanti dello sprint 2`_
.. _Diari dei partecipanti dello sprint 2: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint2/index.html#registro-attivita
- `Retrospettiva dello sprint 2`_
.. _Retrospettiva dello sprint 2: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint2/index.html#retrospettiva-finale
Sprint 3 - dal 19 Maggio al 30 Maggio
-------------------------------------
Burndown dello sprint 3
^^^^^^^^^^^^^^^^^^^^^^^
.. image:: Burndown3.png
:width: 600
- `Diari dei partecipanti dello sprint 3`_
.. _Diari dei partecipanti dello sprint 3: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint3/index.html#registro-attivita
- `Retrospettiva dello sprint 3`_
.. _Retrospettiva dello sprint 3: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint3/index.html#retrospettiva-finale
In generale
-----------
Burndown totale
^^^^^^^^^^^^^^^
.. image:: Burndown4.png .. image:: Burndown4.png
:width: 600

View file

@ -6,8 +6,8 @@ Consegna
La seguente documentazione è stata fornita dal cliente durante questo sprint: La seguente documentazione è stata fornita dal cliente durante questo sprint:
- :download:`Descrizione iniziale del prodotto <0-initial.pdf>` - :download:`0-initial.pdf`
- :download:`Sprint 0 <0-sprint-requirements.pdf>` - :download:`0-sprint-requirements.pdf`
Definition of Ready Definition of Ready
@ -15,11 +15,11 @@ Definition of Ready
Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri: Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:
* La User Story è stata compresa ed accettata da tutti i membri - La User Story è stata compresa ed accettata da tutti i membri
* I tester hanno confermato la possibilità di poterla testare - I tester hanno confermato la possibilità di poterla testare
* Il Product Owner ha la visione necessaria per definirne la priorità - Il Product Owner ha la visione necessaria per definirne la priorità
* Il Team è in grado di stimarla - Il Team è in grado di stimarla
* La User Story è indipendente o dipendente da altre a priorità maggiore - La User Story è indipendente o dipendente da altre a priorità maggiore
Definition of Done Definition of Done
@ -28,10 +28,49 @@ Definition of Done
La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così
definita: definita:
* Sviluppo completo della funzionalità richiesta - Sviluppo completo della funzionalità richiesta
* Definizione e superamento dei test - Definizione e superamento dei test
* Bozza della documentazione della funzionalità - Bozza della documentazione della funzionalità
* Merge dei sorgenti nel branch ``main`` del repository Git - Merge dei sorgenti nel branch ``main`` del repository Git
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`0-stats.html`
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint Retrospective
--------------------
La Sprint Retrospective è disponibile al seguente link:
- :download:`0-retrospective.pdf`
Sprint Review
-------------
Il video di Sprint Review è disponibile al seguente link:
- https://drive.google.com/file/d/12worWEcx-uf2UP4_lnEOovHZpvR77MsG/view
Artefatti
---------
In questo sprint è stato realizzato un documento con i risultati dell'analisi effettuata per realizzare il software:
- :download:`0-result.pdf`
Registro attività Registro attività
@ -81,6 +120,16 @@ Riunioni collettive
Attività individuali Attività individuali
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
.. hint::
Per vedere più in dettaglio il lavoro di sviluppo effettuato da ogni membro del gruppo, si suggerisce di
visualizzare il log di Git:
.. code-block:: console
$ git log
Stefano Goldoni Stefano Goldoni
""""""""""""""" """""""""""""""
@ -453,41 +502,3 @@ Risultati della partita di Scrumble
:4: 6-10 average tasks left :4: 6-10 average tasks left
:5: 0-5 average tasks left :5: 0-5 average tasks left
:Stefano G.: 5 :Stefano G.: 5
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`0-stats.html`
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint Retrospective
--------------------
- :download:`Sprint 0 Retrospective <sprint-0_retrospective.pdf>`
Sprint review
-------------
Il video di sprint review è disponibile al seguente link:
- https://drive.google.com/file/d/12worWEcx-uf2UP4_lnEOovHZpvR77MsG/view
Artefatti
---------
In questo sprint è stato realizzato il seguente documento:
- :download:`Documento generale dello Sprint 0 <0-result.pdf>`

View file

@ -4,35 +4,37 @@ Sprint 1: 19 Apr - 02 Mag
Consegna Consegna
-------- --------
La seguente documentazione è stata fornita dal cliente durante questo sprint: La seguente documentazione è stata fornita dal cliente durante questo Sprint:
- :download:`Sprint 1 <1-sprint-requirements.pdf>` - :download:`1-sprint-requirements.pdf`
Goal Goal
---- ----
Il **goal** per questo sprint è stato costruire una codebase facilmente mantenibile e modulare, che potesse accomodare grossi Il **goal** per questo Sprint è stato costruire una codebase facilmente mantenibile e modulare, che potesse accomodare
cambiamenti nei sottomoduli senza impattare gli altri: grossi cambiamenti nei sottomoduli senza impattare gli altri:
- Dal punto di vista del **backend**: l'obiettivo è stato predisporre la struttura del database e creare le api calls per illogin degli utenti e la creazione dei repository - Dal lato **backend**: l'obiettivo è stato predisporre la struttura del database e creare le API calls
- Dal punto di vista del **frontend**: creare la struttura con le componenti importate da figma e implementare le schermate principali per il login degli utenti e la creazione dei repository
Tutto ciò è visibile dai task completati: - Dal lato **testing**: creare un piccolo framework per il testing automatizzato del backend
- Dal lato **frontend**: creare la struttura con le componenti importate da Figma e implementare le schermate principali
.. image:: Sprint1Task.png
:width: 400
Backlog Backlog
------- ^^^^^^^
.. image:: BacklogSprint1.png .. image:: 1-backlog.png
:width: 400 :width: 400
**Burndown Chart**
.. image:: Chart1.png Task completati
:width: 600 ^^^^^^^^^^^^^^^
.. image:: 1-tasks.png
:width: 400
Definition of Ready Definition of Ready
@ -40,21 +42,105 @@ Definition of Ready
Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri: Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:
* La User Story è stata compresa ed accettata da tutti i membri - La User Story è stata compresa ed accettata da tutti i membri
* I tester hanno confermato la possibilità di poterla testare - I tester hanno confermato la possibilità di poterla testare
* Il Product Owner ha la visione necessaria per definirne la priorità - Il Product Owner ha la visione necessaria per definirne la priorità
* Il Team è in grado di stimarla - Il Team è in grado di stimarla
* La User Story è indipendente o dipendente da altre a priorità maggiore - La User Story è indipendente o dipendente da altre a priorità maggiore
Definition of Done Definition of Done
------------------ ------------------
La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita: La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita:
* Sviluppo completo della funzionalità richiesta - Sviluppo completo della funzionalità richiesta
* Definizione e superamento dei test - Definizione e superamento dei test
* Bozza della documentazione della funzionalità - Bozza della documentazione della funzionalità
* Merge dei sorgenti nel branch ``main`` di GitLab - Merge dei sorgenti nel branch ``main`` di GitLab
Statistiche
-----------
Burndown chart
^^^^^^^^^^^^^^
Questa è la burndown chart relativa allo Sprint 1:
.. image:: 1-burndown.png
Gitinspector
^^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`1-stats.html`
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint Retrospective
--------------------
La Sprint Retrospective è disponibile al seguente link:
- :download:`1-retrospective.pdf`
Sprint Review
-------------
Il video di Sprint Review è disponibile al seguente link:
- https://drive.google.com/drive/folders/1dsis_cGCRnVgZAkZjEVIZKt4NndkycaF
Valutazione sul debito tecnico
------------------------------
Durante questo sprint è stata prodotta dallo Scrum Master la seguente valutazione sul debito tecnico:
La valutazione del debito tecnico effettuata da SonarQube è relativa principalmente al backend,
poiché lanalisi del progetto sarebbe stata troppo dispendiosa a causa dellelevato numero di file presente nella
cartella ``/frontend``.
Per quanto riguarda il backend invece il debito tecnico riscontrato è minore del 5% come si può verificare dal
grado A attestato da SonarQube.
Un punto chiave nellimplementazione ha permesso al team di diminuire il debito tecnico, questo è avvenuto grazie
alladozione del modello architetturale REST che ha migliorato esponenzialmente il tempo di risposta delle
richieste e la leggibilità del codice.
-- Flavia Cocca, Scrum Master
Valutazione sulle User Stories
------------------------------
Durante questo sprint è stata prodotta dal Product Owner la seguente valutazione sulle User Stories:
Durante questo sprint non sono state ristimate le US in quanto non sono emerse al termine dello Sprint 0
valutazioni che lo rendessero necessario, di conseguenza non sono state neanche rivalutate le priorità.
Come Product Owner ho individuato come criterio di accettazione l'esito positivo dei test, anche per il fatto che
i test sono presenti in ogni US.
Durante lo sviluppo di questo primo sprint sono ovviamente emerse delle issue che sono state tracciate su Taiga.
Una di queste, la #101 "L'API non è interamente REST" ha portato ad un refactoring di una parte del codice del
backend, del frontend e naturalmente anche delle procedure di test, che erano già state abbozzate.
La modifica comunque si è rilevata essere necessaria per rispondere appieno alle struttura tipica dei metodi REST.
Altre issue sono state inserite ma possono essere sistemate nello sprint successivo in quanto non influiscono sul
funzionamento atteso in questo primo sprint.
Un leggero ritardo sullo sviluppo del frontend non consente di chiudere alcune US, che verranno chiuse e
testate nel prossimo Sprint.
-- Stefano Goldoni, Product Owner
Registro attività Registro attività
@ -84,6 +170,16 @@ Riunioni collettive
Attività individuali Attività individuali
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
.. hint::
Per vedere più in dettaglio il lavoro di sviluppo effettuato da ogni membro del gruppo, si suggerisce di
visualizzare il log di Git:
.. code-block:: console
$ git log
Stefano Goldoni Stefano Goldoni
""""""""""""""" """""""""""""""
@ -156,10 +252,10 @@ Flavia Cocca
- modifica mockup UI - modifica mockup UI
* - 2021-05-01 * - 2021-05-01
- 2h - 2h
- Riunione con il team per sprint review e sprint retrospective - Riunione con il team per Sprint review e Sprint retrospective
* - 2021-05-02 * - 2021-05-02
- 3h - 3h
- Stesura documenti Sprint 1 (debito tecnico e relazione sprint retrospective), realizzazione video Sprint1 review - Stesura documenti Sprint 1 (debito tecnico e relazione Sprint retrospective), realizzazione video Sprint1 review
Chiara Calzolari Chiara Calzolari
@ -389,7 +485,7 @@ Per il lavoro di testing è stata utilizzata anche la tecnica del Pair Programmi
- Testing ritorno di tutte le repository di proprietà dellutente loggato, ritorno delle info inerenti alla repository specificata - Testing ritorno di tutte le repository di proprietà dellutente loggato, ritorno delle info inerenti alla repository specificata
* - 2021-05-01 * - 2021-05-01
- 2h - 2h
- Riunione con il team per sprint review e sprint retrospective - Riunione con il team per Sprint review e Sprint retrospective
* - 2021-05-01 * - 2021-05-01
- 1h - 1h
- Testing modifica ed eliminazione di una repository (nome, stato) - Testing modifica ed eliminazione di una repository (nome, stato)
@ -401,7 +497,7 @@ Per il lavoro di testing è stata utilizzata anche la tecnica del Pair Programmi
Giorgio Minoccari Giorgio Minoccari
""""""""""""""""" """""""""""""""""
Durante lo sprint ho principalmente svolto sviluppo e test riguardo alla API di twitter, in modo da poter effettuare chiamate efficenti e non venire limitati dal sito riguardo alle richieste effettuate. Durante lo Sprint ho principalmente svolto sviluppo e test riguardo alla API di twitter, in modo da poter effettuare chiamate efficenti e non venire limitati dal sito riguardo alle richieste effettuate.
.. list-table:: .. list-table::
:header-rows: 2 :header-rows: 2
@ -488,36 +584,3 @@ Lorenzo Balugani
* - 2021-05-02 * - 2021-05-02
- 1h - 1h
- Bugfixing - Bugfixing
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`Sprint 1 <1-stats.html>`
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint retrospective
--------------------
- :download:`Sprint 1 Retrospective <1-retrospective.pdf>`
Sprint review
-------------
Il video di sprint review è disponibile al seguente link:
- https://drive.google.com/drive/folders/1dsis_cGCRnVgZAkZjEVIZKt4NndkycaF?usp=sharing
Artefatti
---------
- :download:`Valutazion SM Debito Tecnico <ValutazioneSMDebitoTecnico.md>`
- :download:`Valutazione PO User Stories <valutazionePO__US_realizzate_o_rifiutate.md>`

View file

@ -6,31 +6,28 @@ Consegna
La seguente documentazione è stata fornita dal cliente durante questo sprint: La seguente documentazione è stata fornita dal cliente durante questo sprint:
- :download:`Sprint 2 <2-sprint-requirements.pdf>` - :download:`2-sprint-requirements.pdf`
Goal Goal
---- ----
Il **goal** del secondo sprint è stato la creazione, cancellazione e modifica dei repository, ovvero permettere agli utenti
di creare repo partendo da una ricerca che rispetta determinate condizioni.
Tutto ciò è visibile dai task completati:
.. image:: Sprint2Task.png
:width: 390
Il **goal** del secondo Sprint è stato la creazione, cancellazione e modifica dei repository, ovvero permettere
agli utenti di creare repository partendo da una ricerca che rispetta determinate condizioni.
Backlog Backlog
------- ^^^^^^^
.. image:: BacklogSprint2.png .. image:: 2-backlog.png
:width: 400 :width: 400
**Burndown Chart**
.. image:: Chart2.png Task completati
:width: 600 ^^^^^^^^^^^^^^^
.. image:: 2-tasks.png
:width: 400
Definition of Ready Definition of Ready
@ -38,23 +35,63 @@ Definition of Ready
Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri: Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:
* La User Story è stata compresa ed accettata da tutti i membri - La User Story è stata compresa ed accettata da tutti i membri
* I tester hanno confermato la possibilità di poterla testare - I tester hanno confermato la possibilità di poterla testare
* Il Product Owner ha la visione necessaria per definirne la priorità - Il Product Owner ha la visione necessaria per definirne la priorità
* Il Team è in grado di stimarla - Il Team è in grado di stimarla
* La User Story è indipendente o dipendente da altre a priorità maggiore - La User Story è indipendente o dipendente da altre a priorità maggiore
Definition of Done Definition of Done
------------------ ------------------
La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita: La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita:
* Sviluppo completo della funzionalità richiesta - Sviluppo completo della funzionalità richiesta
* Definizione e superamento dei test - Definizione e superamento dei test
* Bozza della documentazione della funzionalità - Bozza della documentazione della funzionalità
* Merge dei sorgenti nel branch ``main`` di GitLab - Merge dei sorgenti nel branch ``main`` di GitLab
Statistiche
-----------
Burndown chart
^^^^^^^^^^^^^^
Questa è la burndown chart relativa allo Sprint 2:
.. image:: 2-burndown.png
Gitinspector
^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`2-stats.html` (relativa al codice)
- :download:`2D-stats.html` (relativa a parte della documentazione)
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint Retrospective
--------------------
La Sprint Retrospective è disponibile al seguente link:
- :download:`2-retrospective.pdf`
Sprint Review
-------------
Il video di Sprint Review è disponibile al seguente link:
- https://drive.google.com/file/d/1x1kub-bpVJrwmGrn5LLU8ecqcbxFaoKg/view
Registro attività Registro attività
----------------- -----------------
@ -83,6 +120,16 @@ Riunioni collettive
Attività individuali Attività individuali
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
.. hint::
Per vedere più in dettaglio il lavoro di sviluppo effettuato da ogni membro del gruppo, si suggerisce di
visualizzare il log di Git:
.. code-block:: console
$ git log
Stefano Goldoni Stefano Goldoni
""""""""""""""" """""""""""""""
@ -423,32 +470,3 @@ Lorenzo Balugani
* - 2021-05-14 * - 2021-05-14
- 1h - 1h
- Bugfixing - Bugfixing
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`Sprint 2 (codice) <2-stats.html>`
- :download:`Sprint 2 (documentazione) <2D-stats.html>`
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint retrospective
--------------------
- :download:`Sprint 2 Retrospective <RetrospectiveSprint2.pdf>`
Sprint review
-------------
Il video di sprint review è disponibile al seguente link:
- https://drive.google.com/file/d/1x1kub-bpVJrwmGrn5LLU8ecqcbxFaoKg/view?usp=sharing

View file

@ -6,8 +6,8 @@ Consegna
La seguente documentazione è stata fornita dal cliente durante questo sprint: La seguente documentazione è stata fornita dal cliente durante questo sprint:
- :download:`Sprint 3 <3-sprint-requirements.pdf>` - :download:`3-sprint-requirements.pdf`
- :download:`Report finale <3-report.pdf>` - :download:`3-report.pdf`
Goal Goal
@ -15,35 +15,40 @@ Goal
Il **goal** del terzo Sprint è stato far funzionare il crawler, gli alert e completare tutte i task rimanenti. Il **goal** del terzo Sprint è stato far funzionare il crawler, gli alert e completare tutte i task rimanenti.
Tutto ciò è visibile dai task completati:
.. image:: Task3.png Backlog
^^^^^^^
.. image:: 3-backlog.png
:width: 400 :width: 400
Task completati
^^^^^^^^^^^^^^^
.. image:: 3-tasks.png
:width: 400
Grooming session Grooming session
---------------- ----------------
Sono state definite le nuove **User Stories** da inserire nel progetto sulla base delle nuove richieste pervenute dal cliente: Sono state definite le nuove **User Stories** da inserire nel progetto sulla base delle nuove richieste
pervenute dal cliente:
- analisi statistica più dettagliata - analisi statistica più dettagliata
- postare su Twitter - postare su Twitter
- traduzione dell'interfaccia in inglese. - traduzione dell'interfaccia in inglese.
| La richiesta relativa alle *ricerche basate sulla geolocalizzazione*, come già comunicato al cliente, non è stata inserita per motivi tecnici legati alle features delle **API 1.1** che non permettono di eseguire query sui campi di posizione geografica. La richiesta relativa alle *ricerche basate sulla geolocalizzazione*, come già comunicato al cliente, non è stata
| Le nuove User Stories sono state valutate tramite il metodo dello Scrum Poker, durante il quale ogni membro ha espresso la sua valutazione. completata interamente per motivi tecnici legati a limitazioni sulle features delle **API 1.1 di Twitter** che non
| Tutte le nuove richieste sono state accettate dal Product Owner e sono pronte ad essere inserite nello sprint di sviluppo in partenza. permettono di eseguire query su campi di posizione geografica.
Le nuove User Stories sono state valutate tramite Scrum Poker, durante il quale ogni membro ha espresso
la sua valutazione.
Tutte le nuove richieste sono state accettate dal Product Owner e sono pronte ad essere inserite nello sprint di
Backlog sviluppo in partenza.
-------
.. image:: Backlog3.png
:width: 400
**Burndown Chart**
.. image:: Chart3.png
:width: 600
Definition of Ready Definition of Ready
@ -51,21 +56,56 @@ Definition of Ready
Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri: Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:
* La User Story è stata compresa ed accettata da tutti i membri - La User Story è stata compresa ed accettata da tutti i membri
* I tester hanno confermato la possibilità di poterla testare - I tester hanno confermato la possibilità di poterla testare
* Il Product Owner ha la visione necessaria per definirne la priorità - Il Product Owner ha la visione necessaria per definirne la priorità
* Il Team è in grado di stimarla - Il Team è in grado di stimarla
* La User Story è indipendente o dipendente da altre a priorità maggiore - La User Story è indipendente o dipendente da altre a priorità maggiore
Definition of Done Definition of Done
------------------ ------------------
La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita: La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita:
* Sviluppo completo della funzionalità richiesta - Sviluppo completo della funzionalità richiesta
* Definizione e superamento dei test - Definizione e superamento dei test
* Bozza della documentazione della funzionalità - Bozza della documentazione della funzionalità
* Merge dei sorgenti nel branch ``main`` di GitLab - Merge dei sorgenti nel branch ``main`` di GitLab
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^
.. note::
La statistica dello sprint 3 non è ancora stata generata dal prof. Marcello Missiroli.
Schermata finale di SonarQube
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
La schermata finale di SonarQube è visibile a questo link:
- :download:`3-sonarqube.pdf`
Final Retrospective
-------------------
.. todo::
Inserire qui la Retrospettiva finale.
Demo
----
Il video di Demo è disponibile al seguente link:
- https://drive.google.com/file/d/15o70Ffe51CNj8LTKHC9dGiqRVnbv9UpZ/view
Registro attività Registro attività
@ -97,10 +137,6 @@ Riunioni collettive
- 1.5 h - 1.5 h
- sprint retrospective - sprint retrospective
* -
-
-
Attività individuali Attività individuali
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
@ -235,6 +271,8 @@ Chiara Calzolari
Stefano Pigozzi Stefano Pigozzi
""""""""""""""" """""""""""""""
.. todo:: Inserire activity log di Stefano Pigozzi relativo allo Sprint 3.
.. list-table:: .. list-table::
:header-rows: 2 :header-rows: 2
@ -297,13 +335,11 @@ Giovanni Anniballi
- Aggiornamento documentazione, aggiunti ulteriori test seguendo i suggerimenti di SQ - Aggiornamento documentazione, aggiunti ulteriori test seguendo i suggerimenti di SQ
Giorgio Minoccari Giorgio Minoccari
""""""""""""""""" """""""""""""""""
.. todo:: Inserire activity log di Giorgio Minoccari relativo allo Sprint 3.
.. list-table:: .. list-table::
:header-rows: 2 :header-rows: 2
@ -356,33 +392,3 @@ Lorenzo Balugani
* - 28/05 * - 28/05
- 6h - 6h
- Bugfixing - Bugfixing
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^^
.. todo::
Il prof. Marcello Missiroli non ha ancora generato la statistica dello Sprint 3.
Retrospettiva finale
--------------------
.. todo::
Inserire qui la Retrospettiva finale.
Schermata finale di SonarQube
-----------------------------
- :download:`Schermata finale Sonarqube <sonarqube.pdf>`
Demo
----
- https://drive.google.com/file/d/15o70Ffe51CNj8LTKHC9dGiqRVnbv9UpZ/view?usp=sharing

View file

@ -1,15 +1,56 @@
Suggerimenti relativi al corso Suggerimenti relativi al corso
============================== ==============================
* Il *team* concorda **sull'utilità del progetto** poiché permette di utlizzare le nozioni viste a lezione praticamente (le varie metodologie da adottare e le problematiche in cui si può incorrere).
* Il *team* concorda nel dire che **il progetto è eccessivamente corposo**:
* Tecnicamente a 6 cfu dovrebbero corrispondere circa 125 ore di lavoro, mentre questo progetto ne ha richieste molte di più. * Il team concorda sull'**utilità del progetto** poiché permette di utilizzare le nozioni viste a lezione nella pratica,
* Suggeriamo quindi di alleggerire il carico di lavoro, e renderlo più proporzionale ai crediti assegnati. facendo quindi esperienza sulle varie metodologie da adottare e le varie problematiche in cui si può incorrere.
* Il *team* suggerisce di **utilizzare GitHub al posto di Gitlab**, poiché più comodo e funzionale. * Il team concorda nel dire che **il progetto è eccessivamente corposo**:
* Il *team* concorda nel dire che sarebbe molto utile la **partecipazione diretta del prof** durante le prime fasi di progetto, all'inizio del lavoro, per instradare il gruppo nella giusta direzione ed evitare l'effetto "salto nel buio":
* Sarebbe stato piacevole avere una buona spiegazione delle regole dello Scrumble * Tecnicamente a 6 CFU dovrebbero corrispondere circa 125 ore di lavoro, mentre questo progetto ne ha richieste molte di più.
* Avere qualche lezione più specifica sui tool da utilizzare (sonarqube ecc..)
* Suggeriamo quindi di **alleggerire significativamente il carico di lavoro**, e renderlo più proporzionato ai
crediti previsti.
* Il team suggerisce di lasciare agli studenti **scelta completamente libera sugli strumenti da adottare**, in quanto si
sono verificati svariati problemi con quelli previsti dal corso:
* Le istanze di Taiga, GitLab e SonarQube ospitate dall'Università si sono dimostrate inaffidabili,
portando il team a dover ospitare le proprie e quindi a perderci una fetta significativa del proprio tempo.
* CAS è supportato solo su Debian, e lo script di installazione esegue operazioni con effetti collaterali sul
Docker del sistema host.
* L'installazione di Taiga tramite Docker Compose ha richiesto 5 ore, in quanto una race condition presente nel
file ``docker-compose.yml`` impediva al software di raggiungere il database.
* L'installazione e manutenzione di GitLab ha richiesto 5 ore, e richiede competenze di amministrazione di sistema
avanzate che sono oltre il livello dello studente medio del terzo anno di Informatica.
* Taiga, per quanto funzionale, è un po' acerbo a livello di User Experience, il che ha portato a svariati grattacapi
durante il suo utilizzo da parte del team.
* Inoltre, è in parte superfluo: quasi tutte le funzionalità che fornisce sono già implementate sui sistemi di issues
di GitHub e GitLab.
* Utilizzare GitLab invece che il più popolare GitHub impedisce di sfruttare la licenza gratuita o `universitaria`_ di
numerosi strumenti di Continuous Integration e Deployment, quali `GitHub Actions`_, `Read the Docs`_ e `Render`_.
* SonarQube, per quanto semplice da installare, è molto complesso da utilizzare: il team ha necessitato di parecchie
ore per capirne il funzionamento.
* È forse anche superfluo: tutte le issues che ha segnalato erano già state segnalate in precedenza dal sistema di
linting di IntelliJ IDEA Ultimate.
* Il team concorda nel dire che sarebbe molto utile la **partecipazione diretta del prof** durante le prime fasi di
progetto, all'inizio del lavoro, per instradare il gruppo nella giusta direzione ed evitare l'effetto "salto nel buio":
* Sarebbe stato piacevole avere una spiegazione più dettagliata delle regole dello Scrumble, e soprattutto sul come
giocarlo a distanza.
* Sarebbero state utili lezioni più specifica sui tool da utilizzare, come SonarQube.
.. _universitaria: https://education.github.com/pack
.. _GitHub Actions: https://github.com/features/actions
.. _Read the Docs: https://readthedocs.org/
.. _Render: https://render.com/

View file

@ -4,7 +4,7 @@ N.E.S.T.
Benvenuto alla documentazione di N.E.S.T.! Benvenuto alla documentazione di N.E.S.T.!
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 4
:caption: Manuale utente :caption: Manuale utente
guide/about guide/about
@ -13,23 +13,19 @@ Benvenuto alla documentazione di N.E.S.T.!
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 4
:caption: Relazione sul progetto :caption: Relazione sul progetto
development/goals development/goals
development/process
development/tools development/tools
development/sprint0/index development/process
development/sprint1/index
development/sprint2/index
development/sprint3/index
development/artifacts development/artifacts
development/conclusions development/conclusions
development/suggestions development/suggestions
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 4
:caption: Documentazione tecnica :caption: Documentazione tecnica
code/meta/index code/meta/index

View file

@ -95,12 +95,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/suggestions.html">Suggerimenti relativi al corso</a></li>
@ -197,8 +193,8 @@
<dt id="nest_backend.gestione.authenticate"> <dt id="nest_backend.gestione.authenticate">
<code class="sig-prename descclassname"><span class="pre">nest_backend.gestione.</span></code><code class="sig-name descname"><span class="pre">authenticate</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">username</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">password</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#nest_backend.gestione.authenticate" title="Link a questa definizione"></a></dt> <code class="sig-prename descclassname"><span class="pre">nest_backend.gestione.</span></code><code class="sig-name descname"><span class="pre">authenticate</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">username</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">password</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#nest_backend.gestione.authenticate" title="Link a questa definizione"></a></dt>
<dd><p>Authentication method. It checks if the combination of username+password is a valid match. If not, it returns None. <dd><p>Authentication method. It checks if the combination of username+password is a valid match. If not, it returns None.
:param username: the users email :param username: the user's email
:param password: the users password :param password: the user's password
:return: if the credentials are correct, it returns the user. Else, it returns None.</p> :return: if the credentials are correct, it returns the user. Else, it returns None.</p>
</dd></dl> </dd></dl>
@ -216,7 +212,7 @@ It is required by Flask-JWT, and shouldnt be used alone.
<code class="sig-prename descclassname"><span class="pre">nest_backend.gestione.</span></code><code class="sig-name descname"><span class="pre">gen_password</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">password</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#nest_backend.gestione.gen_password" title="Link a questa definizione"></a></dt> <code class="sig-prename descclassname"><span class="pre">nest_backend.gestione.</span></code><code class="sig-name descname"><span class="pre">gen_password</span></code><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">password</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#nest_backend.gestione.gen_password" title="Link a questa definizione"></a></dt>
<dd><p>It generates an hashed password. <dd><p>It generates an hashed password.
:param password: the password that needs to be hashed. :param password: the password that needs to be hashed.
:return: the passwords hash.</p> :return: the password's hash.</p>
</dd></dl> </dd></dl>
<dl class="py function"> <dl class="py function">
@ -339,7 +335,7 @@ It is required by Flask-JWT, and shouldnt be used alone.
<p>Sets attributes on the constructed instance using the names and <p>Sets attributes on the constructed instance using the names and
values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p> values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p>
<p>Only keys that are present as <p>Only keys that are present as
attributes of the instances class are allowed. These could be, attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.</p> for example, any mapped columns or relationships.</p>
</dd></dl> </dd></dl>
@ -383,7 +379,7 @@ for example, any mapped columns or relationships.</p>
<p>Sets attributes on the constructed instance using the names and <p>Sets attributes on the constructed instance using the names and
values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p> values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p>
<p>Only keys that are present as <p>Only keys that are present as
attributes of the instances class are allowed. These could be, attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.</p> for example, any mapped columns or relationships.</p>
</dd></dl> </dd></dl>
@ -422,7 +418,7 @@ for example, any mapped columns or relationships.</p>
<p>Sets attributes on the constructed instance using the names and <p>Sets attributes on the constructed instance using the names and
values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p> values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p>
<p>Only keys that are present as <p>Only keys that are present as
attributes of the instances class are allowed. These could be, attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.</p> for example, any mapped columns or relationships.</p>
</dd></dl> </dd></dl>
@ -481,7 +477,7 @@ for example, any mapped columns or relationships.</p>
<p>Sets attributes on the constructed instance using the names and <p>Sets attributes on the constructed instance using the names and
values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p> values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p>
<p>Only keys that are present as <p>Only keys that are present as
attributes of the instances class are allowed. These could be, attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.</p> for example, any mapped columns or relationships.</p>
</dd></dl> </dd></dl>
@ -520,7 +516,7 @@ for example, any mapped columns or relationships.</p>
<p>Sets attributes on the constructed instance using the names and <p>Sets attributes on the constructed instance using the names and
values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p> values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p>
<p>Only keys that are present as <p>Only keys that are present as
attributes of the instances class are allowed. These could be, attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.</p> for example, any mapped columns or relationships.</p>
</dd></dl> </dd></dl>
@ -564,7 +560,7 @@ for example, any mapped columns or relationships.</p>
<p>Sets attributes on the constructed instance using the names and <p>Sets attributes on the constructed instance using the names and
values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p> values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p>
<p>Only keys that are present as <p>Only keys that are present as
attributes of the instances class are allowed. These could be, attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.</p> for example, any mapped columns or relationships.</p>
</dd></dl> </dd></dl>
@ -653,7 +649,7 @@ for example, any mapped columns or relationships.</p>
<p>Sets attributes on the constructed instance using the names and <p>Sets attributes on the constructed instance using the names and
values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p> values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p>
<p>Only keys that are present as <p>Only keys that are present as
attributes of the instances class are allowed. These could be, attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.</p> for example, any mapped columns or relationships.</p>
</dd></dl> </dd></dl>
@ -727,7 +723,7 @@ for example, any mapped columns or relationships.</p>
<p>Sets attributes on the constructed instance using the names and <p>Sets attributes on the constructed instance using the names and
values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p> values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p>
<p>Only keys that are present as <p>Only keys that are present as
attributes of the instances class are allowed. These could be, attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.</p> for example, any mapped columns or relationships.</p>
</dd></dl> </dd></dl>
@ -781,7 +777,7 @@ for example, any mapped columns or relationships.</p>
<p>Sets attributes on the constructed instance using the names and <p>Sets attributes on the constructed instance using the names and
values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p> values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p>
<p>Only keys that are present as <p>Only keys that are present as
attributes of the instances class are allowed. These could be, attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.</p> for example, any mapped columns or relationships.</p>
</dd></dl> </dd></dl>
@ -820,7 +816,7 @@ for example, any mapped columns or relationships.</p>
<p>Sets attributes on the constructed instance using the names and <p>Sets attributes on the constructed instance using the names and
values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p> values in <code class="docutils literal notranslate"><span class="pre">kwargs</span></code>.</p>
<p>Only keys that are present as <p>Only keys that are present as
attributes of the instances class are allowed. These could be, attributes of the instance's class are allowed. These could be,
for example, any mapped columns or relationships.</p> for example, any mapped columns or relationships.</p>
</dd></dl> </dd></dl>
@ -908,7 +904,7 @@ GitLab</a> .</p>
<p>La documentazione dei percorsi API è gestita da Swagger UI, disponibile a <code class="docutils literal notranslate"><span class="pre">/docs</span></code> una volta che il webserver <p>La documentazione dei percorsi API è gestita da Swagger UI, disponibile a <code class="docutils literal notranslate"><span class="pre">/docs</span></code> una volta che il webserver
del backend è avviato.</p> del backend è avviato.</p>
</div> </div>
<p>Si allega una stampa dellinterfaccia swagger:</p> <p>Si allega una stampa dell'interfaccia swagger:</p>
<ul class="simple"> <ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/cdcbddcd4e1d71369a74a1fabb8399d8/N.E.S.T_Swagger.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Schermata</span> <span class="pre">di</span> <span class="pre">swagger</span></code></a></p></li> <li><p><a class="reference download internal" download="" href="../../_downloads/cdcbddcd4e1d71369a74a1fabb8399d8/N.E.S.T_Swagger.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Schermata</span> <span class="pre">di</span> <span class="pre">swagger</span></code></a></p></li>
</ul> </ul>

View file

@ -95,12 +95,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/suggestions.html">Suggerimenti relativi al corso</a></li>

View file

@ -95,12 +95,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/suggestions.html">Suggerimenti relativi al corso</a></li>
@ -184,12 +180,12 @@
<dl class="py class"> <dl class="py class">
<dt id="Alert"> <dt id="Alert">
<em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Alert</span></code><a class="headerlink" href="#Alert" title="Link a questa definizione"></a></dt> <em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Alert</span></code><a class="headerlink" href="#Alert" title="Link a questa definizione"></a></dt>
<dd><p>Un alert è un allarme impostato da un utente che si «attiva» quando un numero di tweet che rispetta certe condizioni <dd><p>Un alert è un allarme impostato da un utente che si &quot;attiva&quot; quando un numero di tweet che rispetta certe condizioni
(poste in and oppure or) supera una certa soglia, indicata dallutente.</p> (poste in and oppure or) supera una certa soglia, indicata dall'utente.</p>
<p>Ogni volta che lalert si attiva, viene creata una «notifica», ovvero una entry nella tabella Notifications. <p>Ogni volta che l'alert si attiva, viene creata una &quot;notifica&quot;, ovvero una entry nella tabella Notifications.
Questo permette di tenere conto del numero di volte in cui lalert viene triggerato.</p> Questo permette di tenere conto del numero di volte in cui l'alert viene triggerato.</p>
<p>Gli alert sono legati al repository di appartenenza, e quando uno di essi viene allertato viene inviata una mail <p>Gli alert sono legati al repository di appartenenza, e quando uno di essi viene allertato viene inviata una mail
alladmin e pubblicato un tweet sullaccount Twitter usato per le analisi.</p> all'admin e pubblicato un tweet sull'account Twitter usato per le analisi.</p>
<p>La tabella alert contiene le seguenti colonne:</p> <p>La tabella alert contiene le seguenti colonne:</p>
<table class="docutils align-left"> <table class="docutils align-left">
<colgroup> <colgroup>
@ -203,13 +199,13 @@ alladmin e pubblicato un tweet sullaccount Twitter usato per le analisi.</
</thead> </thead>
<tbody> <tbody>
<tr class="row-even"><th class="stub"><p>id (INTEGER, PK)</p></th> <tr class="row-even"><th class="stub"><p>id (INTEGER, PK)</p></th>
<td><p>lidentificativo dellalert</p></td> <td><p>l'identificativo dell'alert</p></td>
</tr> </tr>
<tr class="row-odd"><th class="stub"><p>name (VARCHAR, NOT NULL)</p></th> <tr class="row-odd"><th class="stub"><p>name (VARCHAR, NOT NULL)</p></th>
<td><p>il nome dellalert</p></td> <td><p>il nome dell'alert</p></td>
</tr> </tr>
<tr class="row-even"><th class="stub"><p>limit (INTEGER, NOT NULL)</p></th> <tr class="row-even"><th class="stub"><p>limit (INTEGER, NOT NULL)</p></th>
<td><p>il numero di tweet che innescano lalert</p></td> <td><p>il numero di tweet che innescano l'alert</p></td>
</tr> </tr>
<tr class="row-odd"><th class="stub"><p>window_size (INTEGER, NOT NULL)</p></th> <tr class="row-odd"><th class="stub"><p>window_size (INTEGER, NOT NULL)</p></th>
<td><p>numero di ore in cui il limit può venire superato</p></td> <td><p>numero di ore in cui il limit può venire superato</p></td>
@ -227,7 +223,7 @@ alladmin e pubblicato un tweet sullaccount Twitter usato per le analisi.</
<dl class="py class"> <dl class="py class">
<dt id="Authorization"> <dt id="Authorization">
<em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Authorization</span></code><a class="headerlink" href="#Authorization" title="Link a questa definizione"></a></dt> <em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Authorization</span></code><a class="headerlink" href="#Authorization" title="Link a questa definizione"></a></dt>
<dd><p>Una autorizzazione è unentità che rappresenta il permesso, concesso dal creatore del repository ad un altro utente, <dd><p>Una autorizzazione è un'entità che rappresenta il permesso, concesso dal creatore del repository ad un altro utente,
di ispezionare il contenuto di un repo e di eseguire analisi su di esso.</p> di ispezionare il contenuto di un repo e di eseguire analisi su di esso.</p>
<p>La tabella authorization contiene le seguenti colonne:</p> <p>La tabella authorization contiene le seguenti colonne:</p>
<table class="docutils align-left"> <table class="docutils align-left">
@ -245,7 +241,7 @@ di ispezionare il contenuto di un repo e di eseguire analisi su di esso.</p>
<td><p>id del repository</p></td> <td><p>id del repository</p></td>
</tr> </tr>
<tr class="row-odd"><th class="stub"><p>email (VARCHAR, PK, FK)</p></th> <tr class="row-odd"><th class="stub"><p>email (VARCHAR, PK, FK)</p></th>
<td><p>email dellutente</p></td> <td><p>email dell'utente</p></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -254,7 +250,7 @@ di ispezionare il contenuto di un repo e di eseguire analisi su di esso.</p>
<dl class="py class"> <dl class="py class">
<dt id="Composed"> <dt id="Composed">
<em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Composed</span></code><a class="headerlink" href="#Composed" title="Link a questa definizione"></a></dt> <em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Composed</span></code><a class="headerlink" href="#Composed" title="Link a questa definizione"></a></dt>
<dd><p>Composed è una tabella le cui righe indicano lappartenenza di un Tweet ad un certo repository.</p> <dd><p>Composed è una tabella le cui righe indicano l'appartenenza di un Tweet ad un certo repository.</p>
<p>La tabella Composed contiene le seguenti colonne:</p> <p>La tabella Composed contiene le seguenti colonne:</p>
<table class="docutils align-left"> <table class="docutils align-left">
<colgroup> <colgroup>
@ -360,7 +356,7 @@ coordinate</p></li>
</thead> </thead>
<tbody> <tbody>
<tr class="row-even"><th class="stub"><p>aid (INTEGER, PK, FK)</p></th> <tr class="row-even"><th class="stub"><p>aid (INTEGER, PK, FK)</p></th>
<td><p>id dellalert</p></td> <td><p>id dell'alert</p></td>
</tr> </tr>
<tr class="row-odd"><th class="stub"><p>cid (INTEGER, PK, FK)</p></th> <tr class="row-odd"><th class="stub"><p>cid (INTEGER, PK, FK)</p></th>
<td><p>id della condition</p></td> <td><p>id della condition</p></td>
@ -372,8 +368,8 @@ coordinate</p></li>
<dl class="py class"> <dl class="py class">
<dt id="Notification"> <dt id="Notification">
<em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Notification</span></code><a class="headerlink" href="#Notification" title="Link a questa definizione"></a></dt> <em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Notification</span></code><a class="headerlink" href="#Notification" title="Link a questa definizione"></a></dt>
<dd><p>Una notification è unentità che consente di tenere traccia del momento in cui un certo alert si è attivato <dd><p>Una notification è un'entità che consente di tenere traccia del momento in cui un certo alert si è attivato
per lultima volta.</p> per l'ultima volta.</p>
<p>La tabella notification contiene le seguenti colonne:</p> <p>La tabella notification contiene le seguenti colonne:</p>
<table class="docutils align-left"> <table class="docutils align-left">
<colgroup> <colgroup>
@ -402,7 +398,7 @@ per lultima volta.</p>
<dl class="py class"> <dl class="py class">
<dt id="Repository"> <dt id="Repository">
<em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Repository</span></code><a class="headerlink" href="#Repository" title="Link a questa definizione"></a></dt> <em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Repository</span></code><a class="headerlink" href="#Repository" title="Link a questa definizione"></a></dt>
<dd><p>Un repository è un «contenitore» di tweet, a cui sono legati alert, autorizzazioni di lettura e condizioni.</p> <dd><p>Un repository è un &quot;contenitore&quot; di tweet, a cui sono legati alert, autorizzazioni di lettura e condizioni.</p>
<p>Le condizioni possono essere messe in and oppure or, inoltre un repository può venire archiviato prima divenire <p>Le condizioni possono essere messe in and oppure or, inoltre un repository può venire archiviato prima divenire
eliminato. Quando un repository non è archiviato, questo viene riempito di tweet su base oraria, cosa che non eliminato. Quando un repository non è archiviato, questo viene riempito di tweet su base oraria, cosa che non
accade se viene archiviato.</p> accade se viene archiviato.</p>
@ -440,7 +436,7 @@ accade se viene archiviato.</p>
<td><p>email del proprietario</p></td> <td><p>email del proprietario</p></td>
</tr> </tr>
<tr class="row-odd"><th class="stub"><p>is_deleted (BOOLEAN, NOT NULL)</p></th> <tr class="row-odd"><th class="stub"><p>is_deleted (BOOLEAN, NOT NULL)</p></th>
<td><p>flag per segnalare se loggetto è eliminato o meno</p></td> <td><p>flag per segnalare se l'oggetto è eliminato o meno</p></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -449,9 +445,9 @@ accade se viene archiviato.</p>
<dl class="py class"> <dl class="py class">
<dt id="Tweet"> <dt id="Tweet">
<em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Tweet</span></code><a class="headerlink" href="#Tweet" title="Link a questa definizione"></a></dt> <em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">Tweet</span></code><a class="headerlink" href="#Tweet" title="Link a questa definizione"></a></dt>
<dd><p>Un tweet è unentità che viene raccolta dal componente crawler, e quando viene inserita nella base di dati viene <dd><p>Un tweet è un'entità che viene raccolta dal componente crawler, e quando viene inserita nella base di dati viene
legata ad un repository e alle condition che contiene. Un tweet contiene informazioni relativamente a chi lha legata ad un repository e alle condition che contiene. Un tweet contiene informazioni relativamente a chi l'ha
creato, eventuali immagini, il tempo di creazione, il tempo di inserimento nel db e lopzionale posizione legata creato, eventuali immagini, il tempo di creazione, il tempo di inserimento nel db e l'opzionale posizione legata
al tweet.</p> al tweet.</p>
<p>La tabella tweet contiene le seguenti colonne:</p> <p>La tabella tweet contiene le seguenti colonne:</p>
<table class="docutils align-left"> <table class="docutils align-left">
@ -478,16 +474,16 @@ al tweet.</p>
<td><p>riservato per sviluppi futuri</p></td> <td><p>riservato per sviluppi futuri</p></td>
</tr> </tr>
<tr class="row-even"><th class="stub"><p>poster (VARCHAR)</p></th> <tr class="row-even"><th class="stub"><p>poster (VARCHAR)</p></th>
<td><p>informazioni sullutente che ha creato il tweet</p></td> <td><p>informazioni sull'utente che ha creato il tweet</p></td>
</tr> </tr>
<tr class="row-odd"><th class="stub"><p>insert_time (TIMESTAMP, NOT NULL)</p></th> <tr class="row-odd"><th class="stub"><p>insert_time (TIMESTAMP, NOT NULL)</p></th>
<td><p>timestamp dellinserimento del tweet</p></td> <td><p>timestamp dell'inserimento del tweet</p></td>
</tr> </tr>
<tr class="row-even"><th class="stub"><p>image_url (VARCHAR)</p></th> <tr class="row-even"><th class="stub"><p>image_url (VARCHAR)</p></th>
<td><p>link alle immagini, se presenti</p></td> <td><p>link alle immagini, se presenti</p></td>
</tr> </tr>
<tr class="row-odd"><th class="stub"><p>post_time (TIMESTAMP)</p></th> <tr class="row-odd"><th class="stub"><p>post_time (TIMESTAMP)</p></th>
<td><p>timestamp relativo allinvio del tweet</p></td> <td><p>timestamp relativo all'invio del tweet</p></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -496,8 +492,8 @@ al tweet.</p>
<dl class="py class"> <dl class="py class">
<dt id="User"> <dt id="User">
<em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">User</span></code><a class="headerlink" href="#User" title="Link a questa definizione"></a></dt> <em class="property"><span class="pre">class</span> </em><code class="sig-name descname"><span class="pre">User</span></code><a class="headerlink" href="#User" title="Link a questa definizione"></a></dt>
<dd><p>Uno user è lutilizzatore della piattaforma.</p> <dd><p>Uno user è l'utilizzatore della piattaforma.</p>
<p>E presente di default un utente admin, il quale può creare nuovi utenti.</p> <p>E' presente di default un utente admin, il quale può creare nuovi utenti.</p>
<p>La tabella user contiene le seguenti colonne:</p> <p>La tabella user contiene le seguenti colonne:</p>
<table class="docutils align-left"> <table class="docutils align-left">
<colgroup> <colgroup>
@ -511,16 +507,16 @@ al tweet.</p>
</thead> </thead>
<tbody> <tbody>
<tr class="row-even"><th class="stub"><p>email (VARCHAR, PK)</p></th> <tr class="row-even"><th class="stub"><p>email (VARCHAR, PK)</p></th>
<td><p>email dellutente</p></td> <td><p>email dell'utente</p></td>
</tr> </tr>
<tr class="row-odd"><th class="stub"><p>username (VARCHAR, NOT NULL)</p></th> <tr class="row-odd"><th class="stub"><p>username (VARCHAR, NOT NULL)</p></th>
<td><p>username dellutente</p></td> <td><p>username dell'utente</p></td>
</tr> </tr>
<tr class="row-even"><th class="stub"><p>password (BYTEARRAY, NOT NULL)</p></th> <tr class="row-even"><th class="stub"><p>password (BYTEARRAY, NOT NULL)</p></th>
<td><p>sale della password, codificata usando lalgoritmo bcrypt</p></td> <td><p>sale della password, codificata usando l'algoritmo bcrypt</p></td>
</tr> </tr>
<tr class="row-odd"><th class="stub"><p>isAdmin (BOOLEAN, NOT NULL)</p></th> <tr class="row-odd"><th class="stub"><p>isAdmin (BOOLEAN, NOT NULL)</p></th>
<td><p>true se lutente è admin</p></td> <td><p>true se l'utente è admin</p></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View file

@ -94,12 +94,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/suggestions.html">Suggerimenti relativi al corso</a></li>

View file

@ -95,12 +95,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../../development/suggestions.html">Suggerimenti relativi al corso</a></li>
@ -190,8 +186,8 @@
<a class="reference external" href="https://www.sphinx-doc.org/en/master/">Sphinx</a>.</p> <a class="reference external" href="https://www.sphinx-doc.org/en/master/">Sphinx</a>.</p>
<p>I dati relativi alla documentazione si trovano nella directory standard <code class="docutils literal notranslate"><span class="pre">/docs</span></code>; <p>I dati relativi alla documentazione si trovano nella directory standard <code class="docutils literal notranslate"><span class="pre">/docs</span></code>;
in particolare, le sorgenti reStructuredText si trovano in <code class="docutils literal notranslate"><span class="pre">/docs/source</span></code>, in particolare, le sorgenti reStructuredText si trovano in <code class="docutils literal notranslate"><span class="pre">/docs/source</span></code>,
mentre lultima versione compilata si trova in <code class="docutils literal notranslate"><span class="pre">/docs/build</span></code>.</p> mentre l'ultima versione compilata si trova in <code class="docutils literal notranslate"><span class="pre">/docs/build</span></code>.</p>
<p>Questa struttura permetterebbe lintegrazione con lo strumento di «Continuous Documentation» <p>Questa struttura permetterebbe l'integrazione con lo strumento di &quot;Continuous Documentation&quot;
<a class="reference external" href="https://readthedocs.com/">ReadTheDocs</a>, qualora il progetto fosse ospitato su GitHub o disponessimo di una licenza <a class="reference external" href="https://readthedocs.com/">ReadTheDocs</a>, qualora il progetto fosse ospitato su GitHub o disponessimo di una licenza
almeno <a class="reference external" href="https://readthedocs.com/pricing/">Basic</a>.</p> almeno <a class="reference external" href="https://readthedocs.com/pricing/">Basic</a>.</p>
<div class="section" id="compilazione-con-intellij-idea"> <div class="section" id="compilazione-con-intellij-idea">
@ -208,11 +204,11 @@ eseguita.</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">user:g2-progetto$ </span>poetry install <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">user:g2-progetto$ </span>poetry install
</pre></div> </pre></div>
</div> </div>
<p>Poi, si entri allinterno del virtual environment:</p> <p>Poi, si entri all'interno del virtual environment:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">user:g2-progetto$ </span>poetry shell <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">user:g2-progetto$ </span>poetry shell
</pre></div> </pre></div>
</div> </div>
<p>Una volta allinterno del venv, si entri nella cartella della documentazione:</p> <p>Una volta all'interno del venv, si entri nella cartella della documentazione:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">user:g2-progetto$ </span><span class="nb">cd</span> docs <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">user:g2-progetto$ </span><span class="nb">cd</span> docs
</pre></div> </pre></div>
</div> </div>
@ -228,11 +224,11 @@ eseguita.</p>
<div class="highlight-doscon notranslate"><div class="highlight"><pre><span></span><span class="gp">g2-progetto&gt;</span> poetry install <div class="highlight-doscon notranslate"><div class="highlight"><pre><span></span><span class="gp">g2-progetto&gt;</span> poetry install
</pre></div> </pre></div>
</div> </div>
<p>Poi, si entri allinterno del virtual environment:</p> <p>Poi, si entri all'interno del virtual environment:</p>
<div class="highlight-doscon notranslate"><div class="highlight"><pre><span></span><span class="gp">g2-progetto&gt;</span> poetry shell <div class="highlight-doscon notranslate"><div class="highlight"><pre><span></span><span class="gp">g2-progetto&gt;</span> poetry shell
</pre></div> </pre></div>
</div> </div>
<p>Una volta allinterno del venv, si entri nella cartella della documentazione:</p> <p>Una volta all'interno del venv, si entri nella cartella della documentazione:</p>
<div class="highlight-doscon notranslate"><div class="highlight"><pre><span></span><span class="gp">g2-progetto&gt;</span> <span class="k">cd</span> docs <div class="highlight-doscon notranslate"><div class="highlight"><pre><span></span><span class="gp">g2-progetto&gt;</span> <span class="k">cd</span> docs
</pre></div> </pre></div>
</div> </div>

View file

@ -95,12 +95,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Artefatti</a><ul> <li class="toctree-l1 current"><a class="current reference internal" href="#">Artefatti</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#demo">Demo</a></li> <li class="toctree-l2"><a class="reference internal" href="#demo">Demo</a></li>
</ul> </ul>

View file

@ -95,12 +95,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="artifacts.html">Artefatti</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Conclusioni</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="suggestions.html">Suggerimenti relativi al corso</a></li>
@ -182,16 +178,36 @@
<div class="section" id="conclusioni"> <div class="section" id="conclusioni">
<h1>Conclusioni<a class="headerlink" href="#conclusioni" title="Link a questa intestazione"></a></h1> <h1>Conclusioni<a class="headerlink" href="#conclusioni" title="Link a questa intestazione"></a></h1>
<ul> <ul>
<li><p>Il <em>team</em> ritiene di aver <strong>imparato un sacco di cose nuove</strong>, acquisendo dimestichezza con vari linguaggi e software.</p></li> <li><p>Il team dimostra di aver <strong>imparato numerose nuove nozioni</strong>, acquisendo dimestichezza con vari linguaggi e software,
<li><p>Il <em>team</em> ritiene che <strong>lorganizzazione e collaborazione</strong> tra tutti i membri del gruppo è stata eccellente:</p> come:</p>
<blockquote> <blockquote>
<div><ul class="simple"> <div><ul class="simple">
<li><p>Ciascuno aveva un suo compito e non sono sorti conflitti.</p></li> <li><p>Python</p></li>
<li><p>Lorganizzazione strutturata ci ha permesso di procedere a ritmo sostenuto dallinizio alla fine, garantendo un svolgimento modulare.</p></li> <li><p>NodeJS</p></li>
<li><p>reStructuredText</p></li>
<li><p>IntelliJ IDEA</p></li>
<li><p>Taiga</p></li>
<li><p>Git</p></li>
<li><p>GitLab</p></li>
<li><p>SystemD</p></li>
<li><p><em>Twitter</em></p></li>
</ul> </ul>
</div></blockquote> </div></blockquote>
</li> </li>
<li><p>Il <em>team</em> ritiene che <strong>alcune attività</strong>, come le varie riunioni, <strong>sarebbero state più edificanti e veloci</strong> se fossero state effettuate in presenza, purtroppo la pandemia e la distanza non lo hanno reso possibile.</p></li> <li><p>Il team ritiene che l'<strong>organizzazione e collaborazione</strong> tra tutti i membri del gruppo è stata eccellente:</p>
<blockquote>
<div><ul class="simple">
<li><p>Ciascuno aveva un suo compito e non sono sorti conflitti.</p></li>
<li><p>L'organizzazione strutturata ci ha permesso di procedere a ritmo sostenuto dall'inizio alla fine,
realizzando un prodotto efficace e modulare.</p></li>
</ul>
</div></blockquote>
</li>
<li><p>Parte del team ritiene che <strong>alcune attività</strong>, come le varie riunioni, <strong>sarebbero state più edificanti e veloci</strong> se
fossero state effettuate in presenza, purtroppo la pandemia e la distanza non lo hanno reso possibile.</p></li>
<li><p>Parte del team ritiene invece che il <strong>lavoro a distanza</strong> ci ha permesso di adottare metodi migliori di
<strong>comunicazione asincrona</strong>, permettendo ai membri di lavorare indipendentemente uno dall'altro in base alle proprie
disponibilità di tempo.</p></li>
</ul> </ul>
</div> </div>

View file

@ -40,7 +40,7 @@
<link rel="index" title="Indice" href="../genindex.html" /> <link rel="index" title="Indice" href="../genindex.html" />
<link rel="search" title="Cerca" href="../search.html" /> <link rel="search" title="Cerca" href="../search.html" />
<link rel="next" title="Processo di sviluppo" href="process.html" /> <link rel="next" title="Strumenti utilizzati" href="tools.html" />
<link rel="prev" title="Aggiornamento" href="../guide/updating.html" /> <link rel="prev" title="Aggiornamento" href="../guide/updating.html" />
</head> </head>
@ -100,16 +100,12 @@
<li class="toctree-l2"><a class="reference internal" href="#caratteristiche-degli-utenti">Caratteristiche degli utenti</a></li> <li class="toctree-l2"><a class="reference internal" href="#caratteristiche-degli-utenti">Caratteristiche degli utenti</a></li>
<li class="toctree-l2"><a class="reference internal" href="#glossario">Glossario</a></li> <li class="toctree-l2"><a class="reference internal" href="#glossario">Glossario</a></li>
<li class="toctree-l2"><a class="reference internal" href="#macro-funzionalita">Macro-funzionalità</a></li> <li class="toctree-l2"><a class="reference internal" href="#macro-funzionalita">Macro-funzionalità</a></li>
<li class="toctree-l2"><a class="reference internal" href="#casi-d-uso">Casi duso</a></li> <li class="toctree-l2"><a class="reference internal" href="#casi-d-uso">Casi d'uso</a></li>
<li class="toctree-l2"><a class="reference internal" href="#backlog-generale">Backlog generale</a></li> <li class="toctree-l2"><a class="reference internal" href="#backlog-generale">Backlog generale</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="suggestions.html">Suggerimenti relativi al corso</a></li>
@ -192,7 +188,7 @@
<h1>Introduzione<a class="headerlink" href="#introduzione" title="Link a questa intestazione"></a></h1> <h1>Introduzione<a class="headerlink" href="#introduzione" title="Link a questa intestazione"></a></h1>
<div class="section" id="obiettivo"> <div class="section" id="obiettivo">
<h2>Obiettivo<a class="headerlink" href="#obiettivo" title="Link a questa intestazione"></a></h2> <h2>Obiettivo<a class="headerlink" href="#obiettivo" title="Link a questa intestazione"></a></h2>
<p>Lobiettivo del progetto è la creazione di un software per fornire laggregazione e lanalisi di <a class="reference external" href="https://help.twitter.com/it/using-twitter#tweets">Tweet</a>, in modo da <p>L'obiettivo del progetto è la creazione di un software per fornire l'aggregazione e l'analisi di <a class="reference external" href="https://help.twitter.com/it/using-twitter#tweets">Tweet</a>, in modo da
rilevare eventi <em>macroscopici</em>, <em>locali</em> o più semplicemente filtrarli in base a delle <em>keyword</em>.</p> rilevare eventi <em>macroscopici</em>, <em>locali</em> o più semplicemente filtrarli in base a delle <em>keyword</em>.</p>
<p>Il prodotto sarà utilizzato dal cliente e da un piccolo gruppo di suoi dipendenti per effettuare ricerche statistiche.</p> <p>Il prodotto sarà utilizzato dal cliente e da un piccolo gruppo di suoi dipendenti per effettuare ricerche statistiche.</p>
<p>Il software andrà ad integrarsi direttamente con <a class="reference external" href="https://twitter.com/">Twitter</a>, da cui verranno raccolti dati e su cui verranno pubblicate <p>Il software andrà ad integrarsi direttamente con <a class="reference external" href="https://twitter.com/">Twitter</a>, da cui verranno raccolti dati e su cui verranno pubblicate
@ -201,11 +197,11 @@ allerte su di essi.</p>
<div class="section" id="campo-di-applicazione"> <div class="section" id="campo-di-applicazione">
<h2>Campo di applicazione<a class="headerlink" href="#campo-di-applicazione" title="Link a questa intestazione"></a></h2> <h2>Campo di applicazione<a class="headerlink" href="#campo-di-applicazione" title="Link a questa intestazione"></a></h2>
<p>Il software trova utilizzo principalmente in <strong>ambito statistico</strong>, essendo il suo scopo quello di raccogliere dati e <p>Il software trova utilizzo principalmente in <strong>ambito statistico</strong>, essendo il suo scopo quello di raccogliere dati e
permettere di analizzarli tramite uninterfaccia grafica.</p> permettere di analizzarli tramite un'interfaccia grafica.</p>
</div> </div>
<div class="section" id="caratteristiche-degli-utenti"> <div class="section" id="caratteristiche-degli-utenti">
<h2>Caratteristiche degli utenti<a class="headerlink" href="#caratteristiche-degli-utenti" title="Link a questa intestazione"></a></h2> <h2>Caratteristiche degli utenti<a class="headerlink" href="#caratteristiche-degli-utenti" title="Link a questa intestazione"></a></h2>
<p>Il software potrà essere utilizzato da utenti con una discreta esperienza nellanalisi di dati ma senza particolari <p>Il software potrà essere utilizzato da utenti con una discreta esperienza nell'analisi di dati ma senza particolari
conoscenze informatiche.</p> conoscenze informatiche.</p>
</div> </div>
<div class="section" id="glossario"> <div class="section" id="glossario">
@ -218,14 +214,14 @@ contato in fase di allertamento utente.</p>
</dd> </dd>
<dt>Filtro</dt><dd><p>Predicato logico che deve essere soddisfatto da un tweet per essere visualizzato in fase di analisi dati.</p> <dt>Filtro</dt><dd><p>Predicato logico che deve essere soddisfatto da un tweet per essere visualizzato in fase di analisi dati.</p>
</dd> </dd>
<dt>Allarme</dt><dd><p>Notifica inviata allutente attraverso un mezzo telematico, come email oppure un tweet.</p> <dt>Allarme</dt><dd><p>Notifica inviata all'utente attraverso un mezzo telematico, come email oppure un tweet.</p>
</dd> </dd>
<dt>Utente</dt><dd><p>Utilizzatore del software con un proprio account creato dallamministratore della piattaforma.</p> <dt>Utente</dt><dd><p>Utilizzatore del software con un proprio account creato dall'amministratore della piattaforma.</p>
<p>In particolare, la piattaforma prevederà due tipologie di utenti:</p> <p>In particolare, la piattaforma prevederà due tipologie di utenti:</p>
<dl class="simple"> <dl class="simple">
<dt>Utente regolare</dt><dd><p>Potranno eseguire attività di creazione, analisi, condivisione, archiviazione ed eliminazione dei propri repository.</p> <dt>Utente regolare</dt><dd><p>Potranno eseguire attività di creazione, analisi, condivisione, archiviazione ed eliminazione dei propri repository.</p>
</dd> </dd>
<dt>Utente amministratore</dt><dd><p>Potrà effettuare tutte le attività dellutente regolare, e in aggiunta potrà creare ed eliminare nuovi utenti <dt>Utente amministratore</dt><dd><p>Potrà effettuare tutte le attività dell'utente regolare, e in aggiunta potrà creare ed eliminare nuovi utenti
regolari.</p> regolari.</p>
</dd> </dd>
</dl> </dl>
@ -241,18 +237,18 @@ regolari.</p>
<li><p>in base alla loro <a class="reference external" href="https://help.twitter.com/en/safety-and-security/tweet-location-settings">posizione geografica</a> (ove presente)</p></li> <li><p>in base alla loro <a class="reference external" href="https://help.twitter.com/en/safety-and-security/tweet-location-settings">posizione geografica</a> (ove presente)</p></li>
<li><p>in base alla loro data di pubblicazione</p></li> <li><p>in base alla loro data di pubblicazione</p></li>
</ul> </ul>
<p>Selezionate le condizioni, lutente potrà creare una <strong>repository</strong>: una cartella in cui verranno raccolti i tweet <p>Selezionate le condizioni, l'utente potrà creare una <strong>repository</strong>: una cartella in cui verranno raccolti i tweet
soddisfacenti le condizioni richieste.</p> soddisfacenti le condizioni richieste.</p>
<p>Una volta raccolti, i tweet di una repository potranno essere <strong>analizzati</strong> in qualsiasi momento: durante lanalisi, <p>Una volta raccolti, i tweet di una repository potranno essere <strong>analizzati</strong> in qualsiasi momento: durante l'analisi,
saranno mostrate statistiche e grafici relativi ai tweet.</p> saranno mostrate statistiche e grafici relativi ai tweet.</p>
<p>La raccolta potrà essere interrotta in qualsiasi momento <strong>archiviando</strong> il repository.</p> <p>La raccolta potrà essere interrotta in qualsiasi momento <strong>archiviando</strong> il repository.</p>
<p>Sarà possibile <strong>condividere</strong> una repository con altri utenti della piattaforma, permettendo loro di analizzarla.</p> <p>Sarà possibile <strong>condividere</strong> una repository con altri utenti della piattaforma, permettendo loro di analizzarla.</p>
<p>Infine, lutente potrà configurare una repository in modo che gli invii una <strong>allerta</strong> qualora vengano raccolti un dato <p>Infine, l'utente potrà configurare una repository in modo che gli invii una <strong>allerta</strong> qualora vengano raccolti un dato
numero di tweet in una certa <em>finestra temporale</em>.</p> numero di tweet in una certa <em>finestra temporale</em>.</p>
</div> </div>
<div class="section" id="casi-d-uso"> <div class="section" id="casi-d-uso">
<h2>Casi duso<a class="headerlink" href="#casi-d-uso" title="Link a questa intestazione"></a></h2> <h2>Casi d'uso<a class="headerlink" href="#casi-d-uso" title="Link a questa intestazione"></a></h2>
<p>N.E.S.T. prevede tre tipologie di <em>agenti</em> («utenti» UML): <strong>utente</strong>, <strong>amministratore</strong> e <strong>sistema</strong>.</p> <p>N.E.S.T. prevede tre tipologie di <em>agenti</em> (&quot;utenti&quot; UML): <strong>utente</strong>, <strong>amministratore</strong> e <strong>sistema</strong>.</p>
<img alt="../_images/Utenti.png" src="../_images/Utenti.png" /> <img alt="../_images/Utenti.png" src="../_images/Utenti.png" />
<p>I principali casi duso individuati durante la progettazione di N.E.S.T. sono:</p> <p>I principali casi duso individuati durante la progettazione di N.E.S.T. sono:</p>
<ul> <ul>
@ -265,10 +261,10 @@ numero di tweet in una certa <em>finestra temporale</em>.</p>
<li><p>La gestione delle Allerte sia dal punto di vista dellUtente che del Sistema:</p> <li><p>La gestione delle Allerte sia dal punto di vista dellUtente che del Sistema:</p>
<a class="reference internal image-reference" href="../_images/CasiUso3.PNG"><img alt="../_images/CasiUso3.PNG" src="../_images/CasiUso3.PNG" style="width: 800px;" /></a> <a class="reference internal image-reference" href="../_images/CasiUso3.PNG"><img alt="../_images/CasiUso3.PNG" src="../_images/CasiUso3.PNG" style="width: 800px;" /></a>
</li> </li>
<li><p>La gestione della raccolta da parte dellutente:</p> <li><p>La gestione della raccolta da parte dell'utente:</p>
<a class="reference internal image-reference" href="../_images/CasiUso4.PNG"><img alt="../_images/CasiUso4.PNG" src="../_images/CasiUso4.PNG" style="width: 400px;" /></a> <a class="reference internal image-reference" href="../_images/CasiUso4.PNG"><img alt="../_images/CasiUso4.PNG" src="../_images/CasiUso4.PNG" style="width: 400px;" /></a>
</li> </li>
<li><p>La gestione di un repository da parte dellutente:</p> <li><p>La gestione di un repository da parte dell'utente:</p>
<a class="reference internal image-reference" href="../_images/CasiUso5.PNG"><img alt="../_images/CasiUso5.PNG" src="../_images/CasiUso5.PNG" style="width: 400px;" /></a> <a class="reference internal image-reference" href="../_images/CasiUso5.PNG"><img alt="../_images/CasiUso5.PNG" src="../_images/CasiUso5.PNG" style="width: 400px;" /></a>
</li> </li>
<li><p>La visualizzazione di un repository:</p> <li><p>La visualizzazione di un repository:</p>
@ -298,7 +294,7 @@ Gli elementi dal bordo grigio sono le epiche:</p>
</div> </div>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="process.html" class="btn btn-neutral float-right" title="Processo di sviluppo" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="tools.html" class="btn btn-neutral float-right" title="Strumenti utilizzati" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../guide/updating.html" class="btn btn-neutral float-left" title="Aggiornamento" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="../guide/updating.html" class="btn btn-neutral float-left" title="Aggiornamento" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>

View file

@ -40,8 +40,8 @@
<link rel="index" title="Indice" href="../genindex.html" /> <link rel="index" title="Indice" href="../genindex.html" />
<link rel="search" title="Cerca" href="../search.html" /> <link rel="search" title="Cerca" href="../search.html" />
<link rel="next" title="Strumenti utilizzati" href="tools.html" /> <link rel="next" title="Sprint 0: 04 Apr - 18 Apr" href="sprint0/index.html" />
<link rel="prev" title="Introduzione" href="goals.html" /> <link rel="prev" title="Strumenti utilizzati" href="tools.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@ -95,31 +95,19 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="goals.html">Introduzione</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Processo di sviluppo</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#sprint-0-dal-5-aprile-al-18-aprile">Sprint 0 - dal 5 Aprile al 18 Aprile</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sprint-1-dal-19-aprile-al-2-maggio">Sprint 1 - dal 19 Aprile al 2 Maggio</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#burndown-dello-sprint-1">Burndown dello sprint 1</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#sprint-2-dal-3-maggio-al-16-maggio">Sprint 2 - dal 3 Maggio al 16 Maggio</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#burndown-dello-sprint-2">Burndown dello sprint 2</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#sprint-3-dal-19-maggio-al-30-maggio">Sprint 3 - dal 19 Maggio al 30 Maggio</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#burndown-dello-sprint-3">Burndown dello sprint 3</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#in-generale">In generale</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#burndown-totale">Burndown totale</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Processo di sviluppo</a><ul>
<li class="toctree-l1"><a class="reference internal" href="sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li> <li class="toctree-l2"><a class="reference internal" href="#ruoli">Ruoli</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li> <li class="toctree-l2"><a class="reference internal" href="#sprint">Sprint</a><ul>
<li class="toctree-l1"><a class="reference internal" href="sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li> <li class="toctree-l3"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>
<li class="toctree-l3"><a class="reference internal" href="sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l3"><a class="reference internal" href="sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l3"><a class="reference internal" href="sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#burndown-chart-complessiva">Burndown chart complessiva</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="suggestions.html">Suggerimenti relativi al corso</a></li>
@ -200,63 +188,48 @@
<div class="section" id="processo-di-sviluppo"> <div class="section" id="processo-di-sviluppo">
<h1>Processo di sviluppo<a class="headerlink" href="#processo-di-sviluppo" title="Link a questa intestazione"></a></h1> <h1>Processo di sviluppo<a class="headerlink" href="#processo-di-sviluppo" title="Link a questa intestazione"></a></h1>
<ul class="simple"> <div class="section" id="ruoli">
<li><p>Lo sviluppo è stato suddiviso in <strong>4 sprint</strong>, ciascuno della durata di <em>2 settimane</em></p></li> <h2>Ruoli<a class="headerlink" href="#ruoli" title="Link a questa intestazione"></a></h2>
</ul> <p>Per lavorare più efficientemente, ci siamo assegnati uno o più &quot;ruoli&quot; in base alle nostre competenze.</p>
<div class="section" id="sprint-0-dal-5-aprile-al-18-aprile"> <dl class="field-list simple">
<h2>Sprint 0 - dal 5 Aprile al 18 Aprile<a class="headerlink" href="#sprint-0-dal-5-aprile-al-18-aprile" title="Link a questa intestazione"></a></h2> <dt class="field-odd">Stefano Goldoni</dt>
<ul class="simple"> <dd class="field-odd"><p>Product Owner, Tester</p>
<li><p><a class="reference external" href="http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint0/index.html#registro-attivita">Diari dei partecipanti dello sprint 0</a></p></li> </dd>
</ul> <dt class="field-even">Flavia Cocca</dt>
<ul class="simple"> <dd class="field-even"><p>Scrum Master, UI Designer, Documentazione</p>
<li><p><a class="reference external" href="http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint0/index.html#retrospettiva-finale">Retrospettiva dello sprint 0</a></p></li> </dd>
</ul> <dt class="field-odd">Chiara Calzolari</dt>
<dd class="field-odd"><p>UI Designer, Translator</p>
</dd>
<dt class="field-even">Stefano Pigozzi</dt>
<dd class="field-even"><p>Frontend Developer, Sysadmin</p>
</dd>
<dt class="field-odd">Giovanni Anniballi</dt>
<dd class="field-odd"><p>Lead Tester</p>
</dd>
<dt class="field-even">Giorgio Minoccari</dt>
<dd class="field-even"><p>Analyst, Crawler Developer</p>
</dd>
<dt class="field-odd">Lorenzo Balugani</dt>
<dd class="field-odd"><p>Database Architect, Backend Developer</p>
</dd>
</dl>
</div> </div>
<div class="section" id="sprint-1-dal-19-aprile-al-2-maggio"> <div class="section" id="sprint">
<h2>Sprint 1 - dal 19 Aprile al 2 Maggio<a class="headerlink" href="#sprint-1-dal-19-aprile-al-2-maggio" title="Link a questa intestazione"></a></h2> <h2>Sprint<a class="headerlink" href="#sprint" title="Link a questa intestazione"></a></h2>
<div class="section" id="burndown-dello-sprint-1"> <p>Lo sviluppo si è svolto in <strong>4 Sprint</strong> dalla durata di <strong>2 settimane ciascuno</strong>.</p>
<h3>Burndown dello sprint 1<a class="headerlink" href="#burndown-dello-sprint-1" title="Link a questa intestazione"></a></h3> <div class="toctree-wrapper compound">
<a class="reference internal image-reference" href="../_images/Burndown1.png"><img alt="../_images/Burndown1.png" src="../_images/Burndown1.png" style="width: 600px;" /></a> <ul>
<ul class="simple"> <li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>
<li><p><a class="reference external" href="http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint1/index.html#registro-attivita">Diari dei partecipanti dello sprint 1</a></p></li> <li class="toctree-l1"><a class="reference internal" href="sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
</ul> <li class="toctree-l1"><a class="reference internal" href="sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<ul class="simple"> <li class="toctree-l1"><a class="reference internal" href="sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li><p><a class="reference external" href="http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint1/index.html#retrospettiva-finale">Retrospettiva dello sprint 1</a></p></li>
</ul> </ul>
</div> </div>
</div> </div>
<div class="section" id="sprint-2-dal-3-maggio-al-16-maggio"> <div class="section" id="burndown-chart-complessiva">
<h2>Sprint 2 - dal 3 Maggio al 16 Maggio<a class="headerlink" href="#sprint-2-dal-3-maggio-al-16-maggio" title="Link a questa intestazione"></a></h2> <h2>Burndown chart complessiva<a class="headerlink" href="#burndown-chart-complessiva" title="Link a questa intestazione"></a></h2>
<div class="section" id="burndown-dello-sprint-2"> <img alt="../_images/Burndown4.png" src="../_images/Burndown4.png" />
<h3>Burndown dello sprint 2<a class="headerlink" href="#burndown-dello-sprint-2" title="Link a questa intestazione"></a></h3>
<a class="reference internal image-reference" href="../_images/Burndown2.png"><img alt="../_images/Burndown2.png" src="../_images/Burndown2.png" style="width: 600px;" /></a>
<ul class="simple">
<li><p><a class="reference external" href="http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint2/index.html#registro-attivita">Diari dei partecipanti dello sprint 2</a></p></li>
</ul>
<ul class="simple">
<li><p><a class="reference external" href="http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint2/index.html#retrospettiva-finale">Retrospettiva dello sprint 2</a></p></li>
</ul>
</div>
</div>
<div class="section" id="sprint-3-dal-19-maggio-al-30-maggio">
<h2>Sprint 3 - dal 19 Maggio al 30 Maggio<a class="headerlink" href="#sprint-3-dal-19-maggio-al-30-maggio" title="Link a questa intestazione"></a></h2>
<div class="section" id="burndown-dello-sprint-3">
<h3>Burndown dello sprint 3<a class="headerlink" href="#burndown-dello-sprint-3" title="Link a questa intestazione"></a></h3>
<a class="reference internal image-reference" href="../_images/Burndown3.png"><img alt="../_images/Burndown3.png" src="../_images/Burndown3.png" style="width: 600px;" /></a>
<ul class="simple">
<li><p><a class="reference external" href="http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint3/index.html#registro-attivita">Diari dei partecipanti dello sprint 3</a></p></li>
</ul>
<ul class="simple">
<li><p><a class="reference external" href="http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint3/index.html#retrospettiva-finale">Retrospettiva dello sprint 3</a></p></li>
</ul>
</div>
</div>
<div class="section" id="in-generale">
<h2>In generale<a class="headerlink" href="#in-generale" title="Link a questa intestazione"></a></h2>
<div class="section" id="burndown-totale">
<h3>Burndown totale<a class="headerlink" href="#burndown-totale" title="Link a questa intestazione"></a></h3>
<a class="reference internal image-reference" href="../_images/Burndown4.png"><img alt="../_images/Burndown4.png" src="../_images/Burndown4.png" style="width: 600px;" /></a>
</div>
</div> </div>
</div> </div>
@ -266,8 +239,8 @@
</div> </div>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="tools.html" class="btn btn-neutral float-right" title="Strumenti utilizzati" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="sprint0/index.html" class="btn btn-neutral float-right" title="Sprint 0: 04 Apr - 18 Apr" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="goals.html" class="btn btn-neutral float-left" title="Introduzione" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="tools.html" class="btn btn-neutral float-left" title="Strumenti utilizzati" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>
<hr/> <hr/>

View file

@ -41,7 +41,7 @@
<link rel="index" title="Indice" href="../../genindex.html" /> <link rel="index" title="Indice" href="../../genindex.html" />
<link rel="search" title="Cerca" href="../../search.html" /> <link rel="search" title="Cerca" href="../../search.html" />
<link rel="next" title="Sprint 1: 19 Apr - 02 Mag" href="../sprint1/index.html" /> <link rel="next" title="Sprint 1: 19 Apr - 02 Mag" href="../sprint1/index.html" />
<link rel="prev" title="Strumenti utilizzati" href="../tools.html" /> <link rel="prev" title="Processo di sviluppo" href="../process.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@ -95,39 +95,30 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Sprint 0: 04 Apr - 18 Apr</a><ul> <li class="toctree-l1 current"><a class="reference internal" href="../process.html">Processo di sviluppo</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#consegna">Consegna</a></li> <li class="toctree-l2"><a class="reference internal" href="../process.html#ruoli">Ruoli</a></li>
<li class="toctree-l2"><a class="reference internal" href="#definition-of-ready">Definition of Ready</a></li> <li class="toctree-l2 current"><a class="reference internal" href="../process.html#sprint">Sprint</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#definition-of-done">Definition of Done</a></li> <li class="toctree-l3 current"><a class="current reference internal" href="#">Sprint 0: 04 Apr - 18 Apr</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#registro-attivita">Registro attività</a><ul> <li class="toctree-l4"><a class="reference internal" href="#consegna">Consegna</a></li>
<li class="toctree-l3"><a class="reference internal" href="#riunioni-collettive">Riunioni collettive</a></li> <li class="toctree-l4"><a class="reference internal" href="#definition-of-ready">Definition of Ready</a></li>
<li class="toctree-l3"><a class="reference internal" href="#attivita-individuali">Attività individuali</a><ul> <li class="toctree-l4"><a class="reference internal" href="#definition-of-done">Definition of Done</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stefano-goldoni">Stefano Goldoni</a></li> <li class="toctree-l4"><a class="reference internal" href="#statistiche">Statistiche</a></li>
<li class="toctree-l4"><a class="reference internal" href="#flavia-cocca">Flavia Cocca</a></li> <li class="toctree-l4"><a class="reference internal" href="#sprint-retrospective">Sprint Retrospective</a></li>
<li class="toctree-l4"><a class="reference internal" href="#chiara-calzolari">Chiara Calzolari</a></li> <li class="toctree-l4"><a class="reference internal" href="#sprint-review">Sprint Review</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stefano-pigozzi">Stefano Pigozzi</a></li> <li class="toctree-l4"><a class="reference internal" href="#artefatti">Artefatti</a></li>
<li class="toctree-l4"><a class="reference internal" href="#giovanni-anniballi">Giovanni Anniballi</a></li> <li class="toctree-l4"><a class="reference internal" href="#registro-attivita">Registro attività</a></li>
<li class="toctree-l4"><a class="reference internal" href="#giorgio-minoccari">Giorgio Minoccari</a></li> <li class="toctree-l4"><a class="reference internal" href="#risultati-della-partita-di-scrumble">Risultati della partita di Scrumble</a></li>
<li class="toctree-l4"><a class="reference internal" href="#lorenzo-balugani">Lorenzo Balugani</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l3"><a class="reference internal" href="../sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l3"><a class="reference internal" href="../sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="#risultati-della-partita-di-scrumble">Risultati della partita di Scrumble</a></li> <li class="toctree-l2"><a class="reference internal" href="../process.html#burndown-chart-complessiva">Burndown chart complessiva</a></li>
<li class="toctree-l2"><a class="reference internal" href="#statistiche">Statistiche</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#gitinspector">Gitinspector</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="#sprint-retrospective">Sprint Retrospective</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sprint-review">Sprint review</a></li>
<li class="toctree-l2"><a class="reference internal" href="#artefatti">Artefatti</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../suggestions.html">Suggerimenti relativi al corso</a></li>
@ -187,6 +178,8 @@
<li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li> <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../process.html">Processo di sviluppo</a> &raquo;</li>
<li>Sprint 0: 04 Apr - 18 Apr</li> <li>Sprint 0: 04 Apr - 18 Apr</li>
@ -212,8 +205,8 @@
<h2>Consegna<a class="headerlink" href="#consegna" title="Link a questa intestazione"></a></h2> <h2>Consegna<a class="headerlink" href="#consegna" title="Link a questa intestazione"></a></h2>
<p>La seguente documentazione è stata fornita dal cliente durante questo sprint:</p> <p>La seguente documentazione è stata fornita dal cliente durante questo sprint:</p>
<ul class="simple"> <ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/a4f29d39f4f9d7a16e572fb50f1054c7/0-initial.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Descrizione</span> <span class="pre">iniziale</span> <span class="pre">del</span> <span class="pre">prodotto</span></code></a></p></li> <li><p><a class="reference download internal" download="" href="../../_downloads/a4f29d39f4f9d7a16e572fb50f1054c7/0-initial.pdf"><code class="xref download docutils literal notranslate"><span class="pre">0-initial.pdf</span></code></a></p></li>
<li><p><a class="reference download internal" download="" href="../../_downloads/56a7b936d5f736eeed714f4fad53c4c3/0-sprint-requirements.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">0</span></code></a></p></li> <li><p><a class="reference download internal" download="" href="../../_downloads/56a7b936d5f736eeed714f4fad53c4c3/0-sprint-requirements.pdf"><code class="xref download docutils literal notranslate"><span class="pre">0-sprint-requirements.pdf</span></code></a></p></li>
</ul> </ul>
</div> </div>
<div class="section" id="definition-of-ready"> <div class="section" id="definition-of-ready">
@ -238,6 +231,38 @@ definita:</p>
<li><p>Merge dei sorgenti nel branch <code class="docutils literal notranslate"><span class="pre">main</span></code> del repository Git</p></li> <li><p>Merge dei sorgenti nel branch <code class="docutils literal notranslate"><span class="pre">main</span></code> del repository Git</p></li>
</ul> </ul>
</div> </div>
<div class="section" id="statistiche">
<h2>Statistiche<a class="headerlink" href="#statistiche" title="Link a questa intestazione"></a></h2>
<div class="section" id="gitinspector">
<h3>Gitinspector<a class="headerlink" href="#gitinspector" title="Link a questa intestazione"></a></h3>
<p>Questa statistica è stata generata dal prof. Marcello Missiroli con
<a class="reference external" href="https://github.com/ejwa/gitinspector">Gitinspector</a> al termine dello Sprint.</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/b39447cc9fdf36619aeebedbc640599a/0-stats.html"><code class="xref download docutils literal notranslate"><span class="pre">0-stats.html</span></code></a></p></li>
</ul>
</div>
</div>
<div class="section" id="sprint-retrospective">
<h2>Sprint Retrospective<a class="headerlink" href="#sprint-retrospective" title="Link a questa intestazione"></a></h2>
<p>La Sprint Retrospective è disponibile al seguente link:</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/a4a588dcc384b4a8e8cb42f8f8db936f/0-retrospective.pdf"><code class="xref download docutils literal notranslate"><span class="pre">0-retrospective.pdf</span></code></a></p></li>
</ul>
</div>
<div class="section" id="sprint-review">
<h2>Sprint Review<a class="headerlink" href="#sprint-review" title="Link a questa intestazione"></a></h2>
<p>Il video di Sprint Review è disponibile al seguente link:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://drive.google.com/file/d/12worWEcx-uf2UP4_lnEOovHZpvR77MsG/view">https://drive.google.com/file/d/12worWEcx-uf2UP4_lnEOovHZpvR77MsG/view</a></p></li>
</ul>
</div>
<div class="section" id="artefatti">
<h2>Artefatti<a class="headerlink" href="#artefatti" title="Link a questa intestazione"></a></h2>
<p>In questo sprint è stato realizzato un documento con i risultati dell'analisi effettuata per realizzare il software:</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/d8e10120028bfd129b2cd34bea08128f/0-result.pdf"><code class="xref download docutils literal notranslate"><span class="pre">0-result.pdf</span></code></a></p></li>
</ul>
</div>
<div class="section" id="registro-attivita"> <div class="section" id="registro-attivita">
<h2>Registro attività<a class="headerlink" href="#registro-attivita" title="Link a questa intestazione"></a></h2> <h2>Registro attività<a class="headerlink" href="#registro-attivita" title="Link a questa intestazione"></a></h2>
<div class="section" id="riunioni-collettive"> <div class="section" id="riunioni-collettive">
@ -297,6 +322,14 @@ definita:</p>
</div> </div>
<div class="section" id="attivita-individuali"> <div class="section" id="attivita-individuali">
<h3>Attività individuali<a class="headerlink" href="#attivita-individuali" title="Link a questa intestazione"></a></h3> <h3>Attività individuali<a class="headerlink" href="#attivita-individuali" title="Link a questa intestazione"></a></h3>
<div class="admonition hint">
<p class="admonition-title">Suggerimento</p>
<p>Per vedere più in dettaglio il lavoro di sviluppo effettuato da ogni membro del gruppo, si suggerisce di
visualizzare il log di Git:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git log
</pre></div>
</div>
</div>
<div class="section" id="stefano-goldoni"> <div class="section" id="stefano-goldoni">
<h4>Stefano Goldoni<a class="headerlink" href="#stefano-goldoni" title="Link a questa intestazione"></a></h4> <h4>Stefano Goldoni<a class="headerlink" href="#stefano-goldoni" title="Link a questa intestazione"></a></h4>
<table class="docutils align-default"> <table class="docutils align-default">
@ -599,7 +632,7 @@ definita:</p>
<dt class="field-even">Evaluation</dt> <dt class="field-even">Evaluation</dt>
<dd class="field-even"><dl class="field-list simple"> <dd class="field-even"><dl class="field-list simple">
<dt class="field-odd">1</dt> <dt class="field-odd">1</dt>
<dd class="field-odd"><p>couldnt repeat the game</p> <dd class="field-odd"><p>couldn't repeat the game</p>
</dd> </dd>
<dt class="field-even">5</dt> <dt class="field-even">5</dt>
<dd class="field-even"><p>could play the game as a Scrum Master by himself</p> <dd class="field-even"><p>could play the game as a Scrum Master by himself</p>
@ -812,7 +845,7 @@ definita:</p>
<dd class="field-even"><p>Do team members know each other better?</p> <dd class="field-even"><p>Do team members know each other better?</p>
</dd> </dd>
<dt class="field-odd">Metric</dt> <dt class="field-odd">Metric</dt>
<dd class="field-odd"><p>Level of players serenity throughout the game</p> <dd class="field-odd"><p>Level of players' serenity throughout the game</p>
</dd> </dd>
<dt class="field-even">Evaluation</dt> <dt class="field-even">Evaluation</dt>
<dd class="field-even"><dl class="field-list simple"> <dd class="field-even"><dl class="field-list simple">
@ -941,7 +974,7 @@ definita:</p>
<dd class="field-even"><p>Do team members encourage collegues in need?</p> <dd class="field-even"><p>Do team members encourage collegues in need?</p>
</dd> </dd>
<dt class="field-odd">Metric</dt> <dt class="field-odd">Metric</dt>
<dd class="field-odd"><p>Players explain something other players dont understand</p> <dd class="field-odd"><p>Players explain something other players don't understand</p>
</dd> </dd>
<dt class="field-even">Evaluation</dt> <dt class="field-even">Evaluation</dt>
<dd class="field-even"><dl class="field-list simple"> <dd class="field-even"><dl class="field-list simple">
@ -984,7 +1017,7 @@ definita:</p>
<dd class="field-even"><p>Does PO help the team?</p> <dd class="field-even"><p>Does PO help the team?</p>
</dd> </dd>
<dt class="field-odd">Metric</dt> <dt class="field-odd">Metric</dt>
<dd class="field-odd"><p>Quality of POs advices to get better in the next sprints</p> <dd class="field-odd"><p>Quality of PO's advices to get better in the next sprints</p>
</dd> </dd>
<dt class="field-even">Evaluation</dt> <dt class="field-even">Evaluation</dt>
<dd class="field-even"><dl class="field-list simple"> <dd class="field-even"><dl class="field-list simple">
@ -1014,7 +1047,7 @@ definita:</p>
<dt class="field-even">Evaluation</dt> <dt class="field-even">Evaluation</dt>
<dd class="field-even"><dl class="field-list simple"> <dd class="field-even"><dl class="field-list simple">
<dt class="field-odd">1</dt> <dt class="field-odd">1</dt>
<dd class="field-odd"><p>doesnt express opinions during retrospective</p> <dd class="field-odd"><p>doesn't express opinions during retrospective</p>
</dd> </dd>
<dt class="field-even">5</dt> <dt class="field-even">5</dt>
<dd class="field-even"><p>feels the retrospective fundamental to express opinions</p> <dd class="field-even"><p>feels the retrospective fundamental to express opinions</p>
@ -1162,37 +1195,6 @@ definita:</p>
</li> </li>
</ol> </ol>
</div> </div>
<div class="section" id="statistiche">
<h2>Statistiche<a class="headerlink" href="#statistiche" title="Link a questa intestazione"></a></h2>
<div class="section" id="gitinspector">
<h3>Gitinspector<a class="headerlink" href="#gitinspector" title="Link a questa intestazione"></a></h3>
<p>Questa statistica è stata generata dal prof. Marcello Missiroli con
<a class="reference external" href="https://github.com/ejwa/gitinspector">Gitinspector</a> al termine dello Sprint.</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/b39447cc9fdf36619aeebedbc640599a/0-stats.html"><code class="xref download docutils literal notranslate"><span class="pre">0-stats.html</span></code></a></p></li>
</ul>
</div>
</div>
<div class="section" id="sprint-retrospective">
<h2>Sprint Retrospective<a class="headerlink" href="#sprint-retrospective" title="Link a questa intestazione"></a></h2>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/2ef8733545ae04f32e2402496e5203a3/sprint-0_retrospective.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">0</span> <span class="pre">Retrospective</span></code></a></p></li>
</ul>
</div>
<div class="section" id="sprint-review">
<h2>Sprint review<a class="headerlink" href="#sprint-review" title="Link a questa intestazione"></a></h2>
<p>Il video di sprint review è disponibile al seguente link:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://drive.google.com/file/d/12worWEcx-uf2UP4_lnEOovHZpvR77MsG/view">https://drive.google.com/file/d/12worWEcx-uf2UP4_lnEOovHZpvR77MsG/view</a></p></li>
</ul>
</div>
<div class="section" id="artefatti">
<h2>Artefatti<a class="headerlink" href="#artefatti" title="Link a questa intestazione"></a></h2>
<p>In questo sprint è stato realizzato il seguente documento:</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/d8e10120028bfd129b2cd34bea08128f/0-result.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Documento</span> <span class="pre">generale</span> <span class="pre">dello</span> <span class="pre">Sprint</span> <span class="pre">0</span></code></a></p></li>
</ul>
</div>
</div> </div>
@ -1202,7 +1204,7 @@ definita:</p>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="../sprint1/index.html" class="btn btn-neutral float-right" title="Sprint 1: 19 Apr - 02 Mag" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="../sprint1/index.html" class="btn btn-neutral float-right" title="Sprint 1: 19 Apr - 02 Mag" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="../tools.html" class="btn btn-neutral float-left" title="Strumenti utilizzati" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="../process.html" class="btn btn-neutral float-left" title="Processo di sviluppo" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>
<hr/> <hr/>

View file

@ -95,40 +95,31 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1 current"><a class="reference internal" href="../process.html">Processo di sviluppo</a><ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Sprint 1: 19 Apr - 02 Mag</a><ul> <li class="toctree-l2"><a class="reference internal" href="../process.html#ruoli">Ruoli</a></li>
<li class="toctree-l2"><a class="reference internal" href="#consegna">Consegna</a></li> <li class="toctree-l2 current"><a class="reference internal" href="../process.html#sprint">Sprint</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#goal">Goal</a></li> <li class="toctree-l3"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>
<li class="toctree-l2"><a class="reference internal" href="#backlog">Backlog</a></li> <li class="toctree-l3 current"><a class="current reference internal" href="#">Sprint 1: 19 Apr - 02 Mag</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#definition-of-ready">Definition of Ready</a></li> <li class="toctree-l4"><a class="reference internal" href="#consegna">Consegna</a></li>
<li class="toctree-l2"><a class="reference internal" href="#definition-of-done">Definition of Done</a></li> <li class="toctree-l4"><a class="reference internal" href="#goal">Goal</a></li>
<li class="toctree-l2"><a class="reference internal" href="#registro-attivita">Registro attività</a><ul> <li class="toctree-l4"><a class="reference internal" href="#definition-of-ready">Definition of Ready</a></li>
<li class="toctree-l3"><a class="reference internal" href="#riunioni-collettive">Riunioni collettive</a></li> <li class="toctree-l4"><a class="reference internal" href="#definition-of-done">Definition of Done</a></li>
<li class="toctree-l3"><a class="reference internal" href="#attivita-individuali">Attività individuali</a><ul> <li class="toctree-l4"><a class="reference internal" href="#statistiche">Statistiche</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stefano-goldoni">Stefano Goldoni</a></li> <li class="toctree-l4"><a class="reference internal" href="#sprint-retrospective">Sprint Retrospective</a></li>
<li class="toctree-l4"><a class="reference internal" href="#flavia-cocca">Flavia Cocca</a></li> <li class="toctree-l4"><a class="reference internal" href="#sprint-review">Sprint Review</a></li>
<li class="toctree-l4"><a class="reference internal" href="#chiara-calzolari">Chiara Calzolari</a></li> <li class="toctree-l4"><a class="reference internal" href="#valutazione-sul-debito-tecnico">Valutazione sul debito tecnico</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stefano-pigozzi">Stefano Pigozzi</a></li> <li class="toctree-l4"><a class="reference internal" href="#valutazione-sulle-user-stories">Valutazione sulle User Stories</a></li>
<li class="toctree-l4"><a class="reference internal" href="#giovanni-anniballi">Giovanni Anniballi</a></li> <li class="toctree-l4"><a class="reference internal" href="#registro-attivita">Registro attività</a></li>
<li class="toctree-l4"><a class="reference internal" href="#giorgio-minoccari">Giorgio Minoccari</a></li>
<li class="toctree-l4"><a class="reference internal" href="#lorenzo-balugani">Lorenzo Balugani</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l3"><a class="reference internal" href="../sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="#statistiche">Statistiche</a><ul> <li class="toctree-l2"><a class="reference internal" href="../process.html#burndown-chart-complessiva">Burndown chart complessiva</a></li>
<li class="toctree-l3"><a class="reference internal" href="#gitinspector">Gitinspector</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="#sprint-retrospective">Sprint retrospective</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sprint-review">Sprint review</a></li>
<li class="toctree-l2"><a class="reference internal" href="#artefatti">Artefatti</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../suggestions.html">Suggerimenti relativi al corso</a></li>
@ -188,6 +179,8 @@
<li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li> <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../process.html">Processo di sviluppo</a> &raquo;</li>
<li>Sprint 1: 19 Apr - 02 Mag</li> <li>Sprint 1: 19 Apr - 02 Mag</li>
@ -211,27 +204,29 @@
<h1>Sprint 1: 19 Apr - 02 Mag<a class="headerlink" href="#sprint-1-19-apr-02-mag" title="Link a questa intestazione"></a></h1> <h1>Sprint 1: 19 Apr - 02 Mag<a class="headerlink" href="#sprint-1-19-apr-02-mag" title="Link a questa intestazione"></a></h1>
<div class="section" id="consegna"> <div class="section" id="consegna">
<h2>Consegna<a class="headerlink" href="#consegna" title="Link a questa intestazione"></a></h2> <h2>Consegna<a class="headerlink" href="#consegna" title="Link a questa intestazione"></a></h2>
<p>La seguente documentazione è stata fornita dal cliente durante questo sprint:</p> <p>La seguente documentazione è stata fornita dal cliente durante questo Sprint:</p>
<ul class="simple"> <ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/0f0b0c14c0cb349854d86cde0fd97dd0/1-sprint-requirements.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">1</span></code></a></p></li> <li><p><a class="reference download internal" download="" href="../../_downloads/0f0b0c14c0cb349854d86cde0fd97dd0/1-sprint-requirements.pdf"><code class="xref download docutils literal notranslate"><span class="pre">1-sprint-requirements.pdf</span></code></a></p></li>
</ul> </ul>
</div> </div>
<div class="section" id="goal"> <div class="section" id="goal">
<h2>Goal<a class="headerlink" href="#goal" title="Link a questa intestazione"></a></h2> <h2>Goal<a class="headerlink" href="#goal" title="Link a questa intestazione"></a></h2>
<p>Il <strong>goal</strong> per questo sprint è stato costruire una codebase facilmente mantenibile e modulare, che potesse accomodare grossi <p>Il <strong>goal</strong> per questo Sprint è stato costruire una codebase facilmente mantenibile e modulare, che potesse accomodare
cambiamenti nei sottomoduli senza impattare gli altri:</p> grossi cambiamenti nei sottomoduli senza impattare gli altri:</p>
<ul class="simple"> <ul class="simple">
<li><p>Dal punto di vista del <strong>backend</strong>: lobiettivo è stato predisporre la struttura del database e creare le api calls per illogin degli utenti e la creazione dei repository</p></li> <li><p>Dal lato <strong>backend</strong>: l'obiettivo è stato predisporre la struttura del database e creare le API calls
<li><p>Dal punto di vista del <strong>frontend</strong>: creare la struttura con le componenti importate da figma e implementare le schermate principali</p></li> per il login degli utenti e la creazione dei repository</p></li>
<li><p>Dal lato <strong>testing</strong>: creare un piccolo framework per il testing automatizzato del backend</p></li>
<li><p>Dal lato <strong>frontend</strong>: creare la struttura con le componenti importate da Figma e implementare le schermate principali</p></li>
</ul> </ul>
<p>Tutto ciò è visibile dai task completati:</p>
<a class="reference internal image-reference" href="../../_images/Sprint1Task.png"><img alt="../../_images/Sprint1Task.png" src="../../_images/Sprint1Task.png" style="width: 400px;" /></a>
</div>
<div class="section" id="backlog"> <div class="section" id="backlog">
<h2>Backlog<a class="headerlink" href="#backlog" title="Link a questa intestazione"></a></h2> <h3>Backlog<a class="headerlink" href="#backlog" title="Link a questa intestazione"></a></h3>
<a class="reference internal image-reference" href="../../_images/BacklogSprint1.png"><img alt="../../_images/BacklogSprint1.png" src="../../_images/BacklogSprint1.png" style="width: 400px;" /></a> <a class="reference internal image-reference" href="../../_images/1-backlog.png"><img alt="../../_images/1-backlog.png" src="../../_images/1-backlog.png" style="width: 400px;" /></a>
<p><strong>Burndown Chart</strong></p> </div>
<a class="reference internal image-reference" href="../../_images/Chart1.png"><img alt="../../_images/Chart1.png" src="../../_images/Chart1.png" style="width: 600px;" /></a> <div class="section" id="task-completati">
<h3>Task completati<a class="headerlink" href="#task-completati" title="Link a questa intestazione"></a></h3>
<a class="reference internal image-reference" href="../../_images/1-tasks.png"><img alt="../../_images/1-tasks.png" src="../../_images/1-tasks.png" style="width: 400px;" /></a>
</div>
</div> </div>
<div class="section" id="definition-of-ready"> <div class="section" id="definition-of-ready">
<h2>Definition of Ready<a class="headerlink" href="#definition-of-ready" title="Link a questa intestazione"></a></h2> <h2>Definition of Ready<a class="headerlink" href="#definition-of-ready" title="Link a questa intestazione"></a></h2>
@ -254,6 +249,70 @@ cambiamenti nei sottomoduli senza impattare gli altri:</p>
<li><p>Merge dei sorgenti nel branch <code class="docutils literal notranslate"><span class="pre">main</span></code> di GitLab</p></li> <li><p>Merge dei sorgenti nel branch <code class="docutils literal notranslate"><span class="pre">main</span></code> di GitLab</p></li>
</ul> </ul>
</div> </div>
<div class="section" id="statistiche">
<h2>Statistiche<a class="headerlink" href="#statistiche" title="Link a questa intestazione"></a></h2>
<div class="section" id="burndown-chart">
<h3>Burndown chart<a class="headerlink" href="#burndown-chart" title="Link a questa intestazione"></a></h3>
<p>Questa è la burndown chart relativa allo Sprint 1:</p>
<img alt="../../_images/1-burndown.png" src="../../_images/1-burndown.png" />
</div>
<div class="section" id="gitinspector">
<h3>Gitinspector<a class="headerlink" href="#gitinspector" title="Link a questa intestazione"></a></h3>
<p>Questa statistica è stata generata dal prof. Marcello Missiroli con
<a class="reference external" href="https://github.com/ejwa/gitinspector">Gitinspector</a> al termine dello Sprint.</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/78e5f647ad2041b6942f022e5c1ba6f0/1-stats.html"><code class="xref download docutils literal notranslate"><span class="pre">1-stats.html</span></code></a></p></li>
</ul>
</div>
</div>
<div class="section" id="sprint-retrospective">
<h2>Sprint Retrospective<a class="headerlink" href="#sprint-retrospective" title="Link a questa intestazione"></a></h2>
<p>La Sprint Retrospective è disponibile al seguente link:</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/0a034db869a28558a2be85af6a9d75cf/1-retrospective.pdf"><code class="xref download docutils literal notranslate"><span class="pre">1-retrospective.pdf</span></code></a></p></li>
</ul>
</div>
<div class="section" id="sprint-review">
<h2>Sprint Review<a class="headerlink" href="#sprint-review" title="Link a questa intestazione"></a></h2>
<p>Il video di Sprint Review è disponibile al seguente link:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://drive.google.com/drive/folders/1dsis_cGCRnVgZAkZjEVIZKt4NndkycaF">https://drive.google.com/drive/folders/1dsis_cGCRnVgZAkZjEVIZKt4NndkycaF</a></p></li>
</ul>
</div>
<div class="section" id="valutazione-sul-debito-tecnico">
<h2>Valutazione sul debito tecnico<a class="headerlink" href="#valutazione-sul-debito-tecnico" title="Link a questa intestazione"></a></h2>
<p>Durante questo sprint è stata prodotta dallo Scrum Master la seguente valutazione sul debito tecnico:</p>
<blockquote>
<div><p>La valutazione del debito tecnico effettuata da SonarQube è relativa principalmente al backend,
poiché lanalisi del progetto sarebbe stata troppo dispendiosa a causa dellelevato numero di file presente nella
cartella <code class="docutils literal notranslate"><span class="pre">/frontend</span></code>.</p>
<p>Per quanto riguarda il backend invece il debito tecnico riscontrato è minore del 5% come si può verificare dal
grado A attestato da SonarQube.</p>
<p>Un punto chiave nellimplementazione ha permesso al team di diminuire il debito tecnico, questo è avvenuto grazie
alladozione del modello architetturale REST che ha migliorato esponenzialmente il tempo di risposta delle
richieste e la leggibilità del codice.</p>
<p class="attribution">—Flavia Cocca, Scrum Master</p>
</div></blockquote>
</div>
<div class="section" id="valutazione-sulle-user-stories">
<h2>Valutazione sulle User Stories<a class="headerlink" href="#valutazione-sulle-user-stories" title="Link a questa intestazione"></a></h2>
<p>Durante questo sprint è stata prodotta dal Product Owner la seguente valutazione sulle User Stories:</p>
<blockquote>
<div><p>Durante questo sprint non sono state ristimate le US in quanto non sono emerse al termine dello Sprint 0
valutazioni che lo rendessero necessario, di conseguenza non sono state neanche rivalutate le priorità.</p>
<p>Come Product Owner ho individuato come criterio di accettazione l'esito positivo dei test, anche per il fatto che
i test sono presenti in ogni US.</p>
<p>Durante lo sviluppo di questo primo sprint sono ovviamente emerse delle issue che sono state tracciate su Taiga.
Una di queste, la #101 &quot;L'API non è interamente REST&quot; ha portato ad un refactoring di una parte del codice del
backend, del frontend e naturalmente anche delle procedure di test, che erano già state abbozzate.
La modifica comunque si è rilevata essere necessaria per rispondere appieno alle struttura tipica dei metodi REST.</p>
<p>Altre issue sono state inserite ma possono essere sistemate nello sprint successivo in quanto non influiscono sul
funzionamento atteso in questo primo sprint.</p>
<p>Un leggero ritardo sullo sviluppo del frontend non consente di chiudere alcune US, che verranno chiuse e
testate nel prossimo Sprint.</p>
<p class="attribution">—Stefano Goldoni, Product Owner</p>
</div></blockquote>
</div>
<div class="section" id="registro-attivita"> <div class="section" id="registro-attivita">
<h2>Registro attività<a class="headerlink" href="#registro-attivita" title="Link a questa intestazione"></a></h2> <h2>Registro attività<a class="headerlink" href="#registro-attivita" title="Link a questa intestazione"></a></h2>
<div class="section" id="riunioni-collettive"> <div class="section" id="riunioni-collettive">
@ -288,6 +347,14 @@ cambiamenti nei sottomoduli senza impattare gli altri:</p>
</div> </div>
<div class="section" id="attivita-individuali"> <div class="section" id="attivita-individuali">
<h3>Attività individuali<a class="headerlink" href="#attivita-individuali" title="Link a questa intestazione"></a></h3> <h3>Attività individuali<a class="headerlink" href="#attivita-individuali" title="Link a questa intestazione"></a></h3>
<div class="admonition hint">
<p class="admonition-title">Suggerimento</p>
<p>Per vedere più in dettaglio il lavoro di sviluppo effettuato da ogni membro del gruppo, si suggerisce di
visualizzare il log di Git:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git log
</pre></div>
</div>
</div>
<div class="section" id="stefano-goldoni"> <div class="section" id="stefano-goldoni">
<h4>Stefano Goldoni<a class="headerlink" href="#stefano-goldoni" title="Link a questa intestazione"></a></h4> <h4>Stefano Goldoni<a class="headerlink" href="#stefano-goldoni" title="Link a questa intestazione"></a></h4>
<table class="docutils align-default"> <table class="docutils align-default">
@ -387,11 +454,11 @@ cambiamenti nei sottomoduli senza impattare gli altri:</p>
</tr> </tr>
<tr class="row-even"><td><p>2021-05-01</p></td> <tr class="row-even"><td><p>2021-05-01</p></td>
<td><p>2h</p></td> <td><p>2h</p></td>
<td><p>Riunione con il team per sprint review e sprint retrospective</p></td> <td><p>Riunione con il team per Sprint review e Sprint retrospective</p></td>
</tr> </tr>
<tr class="row-odd"><td><p>2021-05-02</p></td> <tr class="row-odd"><td><p>2021-05-02</p></td>
<td><p>3h</p></td> <td><p>3h</p></td>
<td><p>Stesura documenti Sprint 1 (debito tecnico e relazione sprint retrospective), realizzazione video Sprint1 review</p></td> <td><p>Stesura documenti Sprint 1 (debito tecnico e relazione Sprint retrospective), realizzazione video Sprint1 review</p></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -650,7 +717,7 @@ cambiamenti nei sottomoduli senza impattare gli altri:</p>
</div> </div>
<div class="section" id="giovanni-anniballi"> <div class="section" id="giovanni-anniballi">
<h4>Giovanni Anniballi<a class="headerlink" href="#giovanni-anniballi" title="Link a questa intestazione"></a></h4> <h4>Giovanni Anniballi<a class="headerlink" href="#giovanni-anniballi" title="Link a questa intestazione"></a></h4>
<p>Per il lavoro di testing è stata utilizzata anche la tecnica del Pair Programming, grazie ad un plugin dellIDE utilizzato.</p> <p>Per il lavoro di testing è stata utilizzata anche la tecnica del Pair Programming, grazie ad un plugin dell'IDE utilizzato.</p>
<table class="docutils align-default"> <table class="docutils align-default">
<colgroup> <colgroup>
<col style="width: 33%" /> <col style="width: 33%" />
@ -702,7 +769,7 @@ cambiamenti nei sottomoduli senza impattare gli altri:</p>
</tr> </tr>
<tr class="row-odd"><td><p>2021-05-01</p></td> <tr class="row-odd"><td><p>2021-05-01</p></td>
<td><p>2h</p></td> <td><p>2h</p></td>
<td><p>Riunione con il team per sprint review e sprint retrospective</p></td> <td><p>Riunione con il team per Sprint review e Sprint retrospective</p></td>
</tr> </tr>
<tr class="row-even"><td><p>2021-05-01</p></td> <tr class="row-even"><td><p>2021-05-01</p></td>
<td><p>1h</p></td> <td><p>1h</p></td>
@ -717,7 +784,7 @@ cambiamenti nei sottomoduli senza impattare gli altri:</p>
</div> </div>
<div class="section" id="giorgio-minoccari"> <div class="section" id="giorgio-minoccari">
<h4>Giorgio Minoccari<a class="headerlink" href="#giorgio-minoccari" title="Link a questa intestazione"></a></h4> <h4>Giorgio Minoccari<a class="headerlink" href="#giorgio-minoccari" title="Link a questa intestazione"></a></h4>
<p>Durante lo sprint ho principalmente svolto sviluppo e test riguardo alla API di twitter, in modo da poter effettuare chiamate efficenti e non venire limitati dal sito riguardo alle richieste effettuate.</p> <p>Durante lo Sprint ho principalmente svolto sviluppo e test riguardo alla API di twitter, in modo da poter effettuare chiamate efficenti e non venire limitati dal sito riguardo alle richieste effettuate.</p>
<table class="docutils align-default"> <table class="docutils align-default">
<colgroup> <colgroup>
<col style="width: 33%" /> <col style="width: 33%" />
@ -753,11 +820,11 @@ cambiamenti nei sottomoduli senza impattare gli altri:</p>
</tr> </tr>
<tr class="row-odd"><td><p>2021-04-27</p></td> <tr class="row-odd"><td><p>2021-04-27</p></td>
<td><p>1h</p></td> <td><p>1h</p></td>
<td><p>Definizione di entita di esempio nei database per provare funzioni legate ad esse</p></td> <td><p>Definizione di entita' di esempio nei database per provare funzioni legate ad esse</p></td>
</tr> </tr>
<tr class="row-even"><td><p>2021-04-28</p></td> <tr class="row-even"><td><p>2021-04-28</p></td>
<td><p>2h</p></td> <td><p>2h</p></td>
<td><p>Definizione di funzioni per laggregazione di condizioni di diverso tipo per la ricerca di tweet tramite API</p></td> <td><p>Definizione di funzioni per l'aggregazione di condizioni di diverso tipo per la ricerca di tweet tramite API</p></td>
</tr> </tr>
<tr class="row-odd"><td><p>2021-04-29</p></td> <tr class="row-odd"><td><p>2021-04-29</p></td>
<td><p>1h</p></td> <td><p>1h</p></td>
@ -765,7 +832,7 @@ cambiamenti nei sottomoduli senza impattare gli altri:</p>
</tr> </tr>
<tr class="row-even"><td><p>2021-05-01</p></td> <tr class="row-even"><td><p>2021-05-01</p></td>
<td><p>1h</p></td> <td><p>1h</p></td>
<td><p>Implementazioni di analisi su termini e hashtag restituiti dallAPI</p></td> <td><p>Implementazioni di analisi su termini e hashtag restituiti dall'API</p></td>
</tr> </tr>
<tr class="row-odd"><td><p>2021-05-02</p></td> <tr class="row-odd"><td><p>2021-05-02</p></td>
<td><p>1h</p></td> <td><p>1h</p></td>
@ -842,37 +909,6 @@ cambiamenti nei sottomoduli senza impattare gli altri:</p>
</div> </div>
</div> </div>
</div> </div>
<div class="section" id="statistiche">
<h2>Statistiche<a class="headerlink" href="#statistiche" title="Link a questa intestazione"></a></h2>
<div class="section" id="gitinspector">
<h3>Gitinspector<a class="headerlink" href="#gitinspector" title="Link a questa intestazione"></a></h3>
<p>Questa statistica è stata generata dal prof. Marcello Missiroli con
<a class="reference external" href="https://github.com/ejwa/gitinspector">Gitinspector</a> al termine dello Sprint.</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/78e5f647ad2041b6942f022e5c1ba6f0/1-stats.html"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">1</span></code></a></p></li>
</ul>
</div>
</div>
<div class="section" id="sprint-retrospective">
<h2>Sprint retrospective<a class="headerlink" href="#sprint-retrospective" title="Link a questa intestazione"></a></h2>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/0a034db869a28558a2be85af6a9d75cf/1-retrospective.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">1</span> <span class="pre">Retrospective</span></code></a></p></li>
</ul>
</div>
<div class="section" id="sprint-review">
<h2>Sprint review<a class="headerlink" href="#sprint-review" title="Link a questa intestazione"></a></h2>
<p>Il video di sprint review è disponibile al seguente link:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://drive.google.com/drive/folders/1dsis_cGCRnVgZAkZjEVIZKt4NndkycaF?usp=sharing">https://drive.google.com/drive/folders/1dsis_cGCRnVgZAkZjEVIZKt4NndkycaF?usp=sharing</a></p></li>
</ul>
</div>
<div class="section" id="artefatti">
<h2>Artefatti<a class="headerlink" href="#artefatti" title="Link a questa intestazione"></a></h2>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/d8c4da33d05b63a3cd53bacae9c0a087/ValutazioneSMDebitoTecnico.md"><code class="xref download docutils literal notranslate"><span class="pre">Valutazion</span> <span class="pre">SM</span> <span class="pre">Debito</span> <span class="pre">Tecnico</span></code></a></p></li>
<li><p><a class="reference download internal" download="" href="../../_downloads/54a2c0ccf5ec9b97f97930a108b4737d/valutazionePO__US_realizzate_o_rifiutate.md"><code class="xref download docutils literal notranslate"><span class="pre">Valutazione</span> <span class="pre">PO</span> <span class="pre">User</span> <span class="pre">Stories</span></code></a></p></li>
</ul>
</div>
</div> </div>

View file

@ -95,39 +95,29 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1 current"><a class="reference internal" href="../process.html">Processo di sviluppo</a><ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li> <li class="toctree-l2"><a class="reference internal" href="../process.html#ruoli">Ruoli</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Sprint 2: 03 Mag - 16 Mag</a><ul> <li class="toctree-l2 current"><a class="reference internal" href="../process.html#sprint">Sprint</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="#consegna">Consegna</a></li> <li class="toctree-l3"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>
<li class="toctree-l2"><a class="reference internal" href="#goal">Goal</a></li> <li class="toctree-l3"><a class="reference internal" href="../sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l2"><a class="reference internal" href="#backlog">Backlog</a></li> <li class="toctree-l3 current"><a class="current reference internal" href="#">Sprint 2: 03 Mag - 16 Mag</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#definition-of-ready">Definition of Ready</a></li> <li class="toctree-l4"><a class="reference internal" href="#consegna">Consegna</a></li>
<li class="toctree-l2"><a class="reference internal" href="#definition-of-done">Definition of Done</a></li> <li class="toctree-l4"><a class="reference internal" href="#goal">Goal</a></li>
<li class="toctree-l2"><a class="reference internal" href="#registro-attivita">Registro attività</a><ul> <li class="toctree-l4"><a class="reference internal" href="#definition-of-ready">Definition of Ready</a></li>
<li class="toctree-l3"><a class="reference internal" href="#riunioni-collettive">Riunioni collettive</a></li> <li class="toctree-l4"><a class="reference internal" href="#definition-of-done">Definition of Done</a></li>
<li class="toctree-l3"><a class="reference internal" href="#attivita-individuali">Attività individuali</a><ul> <li class="toctree-l4"><a class="reference internal" href="#statistiche">Statistiche</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stefano-goldoni">Stefano Goldoni</a></li> <li class="toctree-l4"><a class="reference internal" href="#sprint-retrospective">Sprint Retrospective</a></li>
<li class="toctree-l4"><a class="reference internal" href="#flavia-cocca">Flavia Cocca</a></li> <li class="toctree-l4"><a class="reference internal" href="#sprint-review">Sprint Review</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stefano-pigozzi">Stefano Pigozzi</a></li> <li class="toctree-l4"><a class="reference internal" href="#registro-attivita">Registro attività</a></li>
<li class="toctree-l4"><a class="reference internal" href="#chiara-calzolari">Chiara Calzolari</a></li>
<li class="toctree-l4"><a class="reference internal" href="#giovanni-anniballi">Giovanni Anniballi</a></li>
<li class="toctree-l4"><a class="reference internal" href="#giorgio-minoccari">Giorgio Minoccari</a></li>
<li class="toctree-l4"><a class="reference internal" href="#lorenzo-balugani">Lorenzo Balugani</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l3"><a class="reference internal" href="../sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="#statistiche">Statistiche</a><ul> <li class="toctree-l2"><a class="reference internal" href="../process.html#burndown-chart-complessiva">Burndown chart complessiva</a></li>
<li class="toctree-l3"><a class="reference internal" href="#gitinspector">Gitinspector</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="#sprint-retrospective">Sprint retrospective</a></li>
<li class="toctree-l2"><a class="reference internal" href="#sprint-review">Sprint review</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../suggestions.html">Suggerimenti relativi al corso</a></li>
@ -187,6 +177,8 @@
<li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li> <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../process.html">Processo di sviluppo</a> &raquo;</li>
<li>Sprint 2: 03 Mag - 16 Mag</li> <li>Sprint 2: 03 Mag - 16 Mag</li>
@ -212,21 +204,21 @@
<h2>Consegna<a class="headerlink" href="#consegna" title="Link a questa intestazione"></a></h2> <h2>Consegna<a class="headerlink" href="#consegna" title="Link a questa intestazione"></a></h2>
<p>La seguente documentazione è stata fornita dal cliente durante questo sprint:</p> <p>La seguente documentazione è stata fornita dal cliente durante questo sprint:</p>
<ul class="simple"> <ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/e8dd818dc8524e2e5ac00e576ab3af22/2-sprint-requirements.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">2</span></code></a></p></li> <li><p><a class="reference download internal" download="" href="../../_downloads/e8dd818dc8524e2e5ac00e576ab3af22/2-sprint-requirements.pdf"><code class="xref download docutils literal notranslate"><span class="pre">2-sprint-requirements.pdf</span></code></a></p></li>
</ul> </ul>
</div> </div>
<div class="section" id="goal"> <div class="section" id="goal">
<h2>Goal<a class="headerlink" href="#goal" title="Link a questa intestazione"></a></h2> <h2>Goal<a class="headerlink" href="#goal" title="Link a questa intestazione"></a></h2>
<p>Il <strong>goal</strong> del secondo sprint è stato la creazione, cancellazione e modifica dei repository, ovvero permettere agli utenti <p>Il <strong>goal</strong> del secondo Sprint è stato la creazione, cancellazione e modifica dei repository, ovvero permettere
di creare repo partendo da una ricerca che rispetta determinate condizioni.</p> agli utenti di creare repository partendo da una ricerca che rispetta determinate condizioni.</p>
<p>Tutto ciò è visibile dai task completati:</p>
<a class="reference internal image-reference" href="../../_images/Sprint2Task.png"><img alt="../../_images/Sprint2Task.png" src="../../_images/Sprint2Task.png" style="width: 390px;" /></a>
</div>
<div class="section" id="backlog"> <div class="section" id="backlog">
<h2>Backlog<a class="headerlink" href="#backlog" title="Link a questa intestazione"></a></h2> <h3>Backlog<a class="headerlink" href="#backlog" title="Link a questa intestazione"></a></h3>
<a class="reference internal image-reference" href="development/sprint2/BacklogSprint2.png"><img alt="development/sprint2/BacklogSprint2.png" src="development/sprint2/BacklogSprint2.png" style="width: 400px;" /></a> <a class="reference internal image-reference" href="../../_images/2-backlog.png"><img alt="../../_images/2-backlog.png" src="../../_images/2-backlog.png" style="width: 400px;" /></a>
<p><strong>Burndown Chart</strong></p> </div>
<a class="reference internal image-reference" href="../../_images/Chart2.png"><img alt="../../_images/Chart2.png" src="../../_images/Chart2.png" style="width: 600px;" /></a> <div class="section" id="task-completati">
<h3>Task completati<a class="headerlink" href="#task-completati" title="Link a questa intestazione"></a></h3>
<a class="reference internal image-reference" href="../../_images/2-tasks.png"><img alt="../../_images/2-tasks.png" src="../../_images/2-tasks.png" style="width: 400px;" /></a>
</div>
</div> </div>
<div class="section" id="definition-of-ready"> <div class="section" id="definition-of-ready">
<h2>Definition of Ready<a class="headerlink" href="#definition-of-ready" title="Link a questa intestazione"></a></h2> <h2>Definition of Ready<a class="headerlink" href="#definition-of-ready" title="Link a questa intestazione"></a></h2>
@ -249,6 +241,37 @@ di creare repo partendo da una ricerca che rispetta determinate condizioni.</p>
<li><p>Merge dei sorgenti nel branch <code class="docutils literal notranslate"><span class="pre">main</span></code> di GitLab</p></li> <li><p>Merge dei sorgenti nel branch <code class="docutils literal notranslate"><span class="pre">main</span></code> di GitLab</p></li>
</ul> </ul>
</div> </div>
<div class="section" id="statistiche">
<h2>Statistiche<a class="headerlink" href="#statistiche" title="Link a questa intestazione"></a></h2>
<div class="section" id="burndown-chart">
<h3>Burndown chart<a class="headerlink" href="#burndown-chart" title="Link a questa intestazione"></a></h3>
<p>Questa è la burndown chart relativa allo Sprint 2:</p>
<img alt="../../_images/2-burndown.png" src="../../_images/2-burndown.png" />
</div>
<div class="section" id="gitinspector">
<h3>Gitinspector<a class="headerlink" href="#gitinspector" title="Link a questa intestazione"></a></h3>
<p>Questa statistica è stata generata dal prof. Marcello Missiroli con
<a class="reference external" href="https://github.com/ejwa/gitinspector">Gitinspector</a> al termine dello Sprint.</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/b4c90bf7e7222c3dec541abe0ca8065c/2-stats.html"><code class="xref download docutils literal notranslate"><span class="pre">2-stats.html</span></code></a> (relativa al codice)</p></li>
<li><p><a class="reference download internal" download="" href="../../_downloads/d3f17d7c3d7250ff8d833b228fd66367/2D-stats.html"><code class="xref download docutils literal notranslate"><span class="pre">2D-stats.html</span></code></a> (relativa a parte della documentazione)</p></li>
</ul>
</div>
</div>
<div class="section" id="sprint-retrospective">
<h2>Sprint Retrospective<a class="headerlink" href="#sprint-retrospective" title="Link a questa intestazione"></a></h2>
<p>La Sprint Retrospective è disponibile al seguente link:</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/5b172c365f95a8016d50f3bd1fb8cf83/2-retrospective.pdf"><code class="xref download docutils literal notranslate"><span class="pre">2-retrospective.pdf</span></code></a></p></li>
</ul>
</div>
<div class="section" id="sprint-review">
<h2>Sprint Review<a class="headerlink" href="#sprint-review" title="Link a questa intestazione"></a></h2>
<p>Il video di Sprint Review è disponibile al seguente link:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://drive.google.com/file/d/1x1kub-bpVJrwmGrn5LLU8ecqcbxFaoKg/view">https://drive.google.com/file/d/1x1kub-bpVJrwmGrn5LLU8ecqcbxFaoKg/view</a></p></li>
</ul>
</div>
<div class="section" id="registro-attivita"> <div class="section" id="registro-attivita">
<h2>Registro attività<a class="headerlink" href="#registro-attivita" title="Link a questa intestazione"></a></h2> <h2>Registro attività<a class="headerlink" href="#registro-attivita" title="Link a questa intestazione"></a></h2>
<div class="section" id="riunioni-collettive"> <div class="section" id="riunioni-collettive">
@ -283,6 +306,14 @@ di creare repo partendo da una ricerca che rispetta determinate condizioni.</p>
</div> </div>
<div class="section" id="attivita-individuali"> <div class="section" id="attivita-individuali">
<h3>Attività individuali<a class="headerlink" href="#attivita-individuali" title="Link a questa intestazione"></a></h3> <h3>Attività individuali<a class="headerlink" href="#attivita-individuali" title="Link a questa intestazione"></a></h3>
<div class="admonition hint">
<p class="admonition-title">Suggerimento</p>
<p>Per vedere più in dettaglio il lavoro di sviluppo effettuato da ogni membro del gruppo, si suggerisce di
visualizzare il log di Git:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>git log
</pre></div>
</div>
</div>
<div class="section" id="stefano-goldoni"> <div class="section" id="stefano-goldoni">
<h4>Stefano Goldoni<a class="headerlink" href="#stefano-goldoni" title="Link a questa intestazione"></a></h4> <h4>Stefano Goldoni<a class="headerlink" href="#stefano-goldoni" title="Link a questa intestazione"></a></h4>
<table class="docutils align-default"> <table class="docutils align-default">
@ -678,7 +709,7 @@ di creare repo partendo da una ricerca che rispetta determinate condizioni.</p>
<tbody> <tbody>
<tr class="row-odd"><td><p>2021-05-04</p></td> <tr class="row-odd"><td><p>2021-05-04</p></td>
<td><p>30m</p></td> <td><p>30m</p></td>
<td><p>Aggiunta della condizione sullutente</p></td> <td><p>Aggiunta della condizione sull'utente</p></td>
</tr> </tr>
<tr class="row-even"><td><p>2021-05-10</p></td> <tr class="row-even"><td><p>2021-05-10</p></td>
<td><p>2h</p></td> <td><p>2h</p></td>
@ -690,7 +721,7 @@ di creare repo partendo da una ricerca che rispetta determinate condizioni.</p>
</tr> </tr>
<tr class="row-even"><td><p>2021-05-12</p></td> <tr class="row-even"><td><p>2021-05-12</p></td>
<td><p>1h</p></td> <td><p>1h</p></td>
<td><p>Ritorno alla versione 1.1 perche lascia disponibili le query sulla geolocalizzazione gratuitamente</p></td> <td><p>Ritorno alla versione 1.1 perche' lascia disponibili le query sulla geolocalizzazione gratuitamente</p></td>
</tr> </tr>
<tr class="row-odd"><td><p>2021-05-14</p></td> <tr class="row-odd"><td><p>2021-05-14</p></td>
<td><p>5h</p></td> <td><p>5h</p></td>
@ -755,31 +786,6 @@ di creare repo partendo da una ricerca che rispetta determinate condizioni.</p>
</div> </div>
</div> </div>
</div> </div>
<div class="section" id="statistiche">
<h2>Statistiche<a class="headerlink" href="#statistiche" title="Link a questa intestazione"></a></h2>
<div class="section" id="gitinspector">
<h3>Gitinspector<a class="headerlink" href="#gitinspector" title="Link a questa intestazione"></a></h3>
<p>Questa statistica è stata generata dal prof. Marcello Missiroli con
<a class="reference external" href="https://github.com/ejwa/gitinspector">Gitinspector</a> al termine dello Sprint.</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/b4c90bf7e7222c3dec541abe0ca8065c/2-stats.html"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">2</span> <span class="pre">(codice)</span></code></a></p></li>
<li><p><a class="reference download internal" download="" href="../../_downloads/d3f17d7c3d7250ff8d833b228fd66367/2D-stats.html"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">2</span> <span class="pre">(documentazione)</span></code></a></p></li>
</ul>
</div>
</div>
<div class="section" id="sprint-retrospective">
<h2>Sprint retrospective<a class="headerlink" href="#sprint-retrospective" title="Link a questa intestazione"></a></h2>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/d7da8958e80992420c2b0eef73947059/RetrospectiveSprint2.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">2</span> <span class="pre">Retrospective</span></code></a></p></li>
</ul>
</div>
<div class="section" id="sprint-review">
<h2>Sprint review<a class="headerlink" href="#sprint-review" title="Link a questa intestazione"></a></h2>
<p>Il video di sprint review è disponibile al seguente link:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://drive.google.com/file/d/1x1kub-bpVJrwmGrn5LLU8ecqcbxFaoKg/view?usp=sharing">https://drive.google.com/file/d/1x1kub-bpVJrwmGrn5LLU8ecqcbxFaoKg/view?usp=sharing</a></p></li>
</ul>
</div>
</div> </div>

View file

@ -95,39 +95,28 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1 current"><a class="reference internal" href="../process.html">Processo di sviluppo</a><ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li> <li class="toctree-l2"><a class="reference internal" href="../process.html#ruoli">Ruoli</a></li>
<li class="toctree-l1"><a class="reference internal" href="../sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li> <li class="toctree-l2 current"><a class="reference internal" href="../process.html#sprint">Sprint</a><ul class="current">
<li class="toctree-l1 current"><a class="current reference internal" href="#">Sprint 3: 17 Mag - 30 Mag</a><ul> <li class="toctree-l3"><a class="reference internal" href="../sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li>
<li class="toctree-l2"><a class="reference internal" href="#consegna">Consegna</a></li> <li class="toctree-l3"><a class="reference internal" href="../sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l2"><a class="reference internal" href="#goal">Goal</a></li> <li class="toctree-l3"><a class="reference internal" href="../sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l2"><a class="reference internal" href="#grooming-session">Grooming session</a></li> <li class="toctree-l3 current"><a class="current reference internal" href="#">Sprint 3: 17 Mag - 30 Mag</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#backlog">Backlog</a></li> <li class="toctree-l4"><a class="reference internal" href="#consegna">Consegna</a></li>
<li class="toctree-l2"><a class="reference internal" href="#definition-of-ready">Definition of Ready</a></li> <li class="toctree-l4"><a class="reference internal" href="#goal">Goal</a></li>
<li class="toctree-l2"><a class="reference internal" href="#definition-of-done">Definition of Done</a></li> <li class="toctree-l4"><a class="reference internal" href="#grooming-session">Grooming session</a></li>
<li class="toctree-l2"><a class="reference internal" href="#registro-attivita">Registro attività</a><ul> <li class="toctree-l4"><a class="reference internal" href="#definition-of-ready">Definition of Ready</a></li>
<li class="toctree-l3"><a class="reference internal" href="#riunioni-collettive">Riunioni collettive</a></li> <li class="toctree-l4"><a class="reference internal" href="#definition-of-done">Definition of Done</a></li>
<li class="toctree-l3"><a class="reference internal" href="#attivita-individuali">Attività individuali</a><ul> <li class="toctree-l4"><a class="reference internal" href="#statistiche">Statistiche</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stefano-goldoni">Stefano Goldoni</a></li> <li class="toctree-l4"><a class="reference internal" href="#final-retrospective">Final Retrospective</a></li>
<li class="toctree-l4"><a class="reference internal" href="#flavia-cocca">Flavia Cocca</a></li> <li class="toctree-l4"><a class="reference internal" href="#demo">Demo</a></li>
<li class="toctree-l4"><a class="reference internal" href="#chiara-calzolari">Chiara Calzolari</a></li> <li class="toctree-l4"><a class="reference internal" href="#registro-attivita">Registro attività</a></li>
<li class="toctree-l4"><a class="reference internal" href="#stefano-pigozzi">Stefano Pigozzi</a></li>
<li class="toctree-l4"><a class="reference internal" href="#giovanni-anniballi">Giovanni Anniballi</a></li>
<li class="toctree-l4"><a class="reference internal" href="#giorgio-minoccari">Giorgio Minoccari</a></li>
<li class="toctree-l4"><a class="reference internal" href="#lorenzo-balugani">Lorenzo Balugani</a></li>
</ul> </ul>
</li> </li>
</ul> </ul>
</li> </li>
<li class="toctree-l2"><a class="reference internal" href="#statistiche">Statistiche</a><ul> <li class="toctree-l2"><a class="reference internal" href="../process.html#burndown-chart-complessiva">Burndown chart complessiva</a></li>
<li class="toctree-l3"><a class="reference internal" href="#gitinspector">Gitinspector</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="#retrospettiva-finale">Retrospettiva finale</a></li>
<li class="toctree-l2"><a class="reference internal" href="#schermata-finale-di-sonarqube">Schermata finale di SonarQube</a></li>
<li class="toctree-l2"><a class="reference internal" href="#demo">Demo</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="../artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../artifacts.html">Artefatti</a></li>
@ -189,6 +178,8 @@
<li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li> <li><a href="../../index.html" class="icon icon-home"></a> &raquo;</li>
<li><a href="../process.html">Processo di sviluppo</a> &raquo;</li>
<li>Sprint 3: 17 Mag - 30 Mag</li> <li>Sprint 3: 17 Mag - 30 Mag</li>
@ -214,35 +205,38 @@
<h2>Consegna<a class="headerlink" href="#consegna" title="Link a questa intestazione"></a></h2> <h2>Consegna<a class="headerlink" href="#consegna" title="Link a questa intestazione"></a></h2>
<p>La seguente documentazione è stata fornita dal cliente durante questo sprint:</p> <p>La seguente documentazione è stata fornita dal cliente durante questo sprint:</p>
<ul class="simple"> <ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/99492e10545c21e4562ee297a6a7f8fc/3-sprint-requirements.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Sprint</span> <span class="pre">3</span></code></a></p></li> <li><p><a class="reference download internal" download="" href="../../_downloads/99492e10545c21e4562ee297a6a7f8fc/3-sprint-requirements.pdf"><code class="xref download docutils literal notranslate"><span class="pre">3-sprint-requirements.pdf</span></code></a></p></li>
<li><p><a class="reference download internal" download="" href="../../_downloads/97887f76be086e7133e1b3c7e2c38379/3-report.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Report</span> <span class="pre">finale</span></code></a></p></li> <li><p><a class="reference download internal" download="" href="../../_downloads/97887f76be086e7133e1b3c7e2c38379/3-report.pdf"><code class="xref download docutils literal notranslate"><span class="pre">3-report.pdf</span></code></a></p></li>
</ul> </ul>
</div> </div>
<div class="section" id="goal"> <div class="section" id="goal">
<h2>Goal<a class="headerlink" href="#goal" title="Link a questa intestazione"></a></h2> <h2>Goal<a class="headerlink" href="#goal" title="Link a questa intestazione"></a></h2>
<p>Il <strong>goal</strong> del terzo Sprint è stato far funzionare il crawler, gli alert e completare tutte i task rimanenti.</p> <p>Il <strong>goal</strong> del terzo Sprint è stato far funzionare il crawler, gli alert e completare tutte i task rimanenti.</p>
<p>Tutto ciò è visibile dai task completati:</p> <div class="section" id="backlog">
<a class="reference internal image-reference" href="../../_images/Task3.png"><img alt="../../_images/Task3.png" src="../../_images/Task3.png" style="width: 400px;" /></a> <h3>Backlog<a class="headerlink" href="#backlog" title="Link a questa intestazione"></a></h3>
<a class="reference internal image-reference" href="../../_images/3-backlog.png"><img alt="../../_images/3-backlog.png" src="../../_images/3-backlog.png" style="width: 400px;" /></a>
</div>
<div class="section" id="task-completati">
<h3>Task completati<a class="headerlink" href="#task-completati" title="Link a questa intestazione"></a></h3>
<a class="reference internal image-reference" href="../../_images/3-tasks.png"><img alt="../../_images/3-tasks.png" src="../../_images/3-tasks.png" style="width: 400px;" /></a>
</div>
</div> </div>
<div class="section" id="grooming-session"> <div class="section" id="grooming-session">
<h2>Grooming session<a class="headerlink" href="#grooming-session" title="Link a questa intestazione"></a></h2> <h2>Grooming session<a class="headerlink" href="#grooming-session" title="Link a questa intestazione"></a></h2>
<p>Sono state definite le nuove <strong>User Stories</strong> da inserire nel progetto sulla base delle nuove richieste pervenute dal cliente:</p> <p>Sono state definite le nuove <strong>User Stories</strong> da inserire nel progetto sulla base delle nuove richieste
pervenute dal cliente:</p>
<ul class="simple"> <ul class="simple">
<li><p>analisi statistica più dettagliata</p></li> <li><p>analisi statistica più dettagliata</p></li>
<li><p>postare su Twitter</p></li> <li><p>postare su Twitter</p></li>
<li><p>traduzione dellinterfaccia in inglese.</p></li> <li><p>traduzione dell'interfaccia in inglese.</p></li>
</ul> </ul>
<div class="line-block"> <p>La richiesta relativa alle <em>ricerche basate sulla geolocalizzazione</em>, come già comunicato al cliente, non è stata
<div class="line">La richiesta relativa alle <em>ricerche basate sulla geolocalizzazione</em>, come già comunicato al cliente, non è stata inserita per motivi tecnici legati alle features delle <strong>API 1.1</strong> che non permettono di eseguire query sui campi di posizione geografica.</div> completata interamente per motivi tecnici legati a limitazioni sulle features delle <strong>API 1.1 di Twitter</strong> che non
<div class="line">Le nuove User Stories sono state valutate tramite il metodo dello Scrum Poker, durante il quale ogni membro ha espresso la sua valutazione.</div> permettono di eseguire query su campi di posizione geografica.</p>
<div class="line">Tutte le nuove richieste sono state accettate dal Product Owner e sono pronte ad essere inserite nello sprint di sviluppo in partenza.</div> <p>Le nuove User Stories sono state valutate tramite Scrum Poker, durante il quale ogni membro ha espresso
</div> la sua valutazione.</p>
</div> <p>Tutte le nuove richieste sono state accettate dal Product Owner e sono pronte ad essere inserite nello sprint di
<div class="section" id="backlog"> sviluppo in partenza.</p>
<h2>Backlog<a class="headerlink" href="#backlog" title="Link a questa intestazione"></a></h2>
<a class="reference internal image-reference" href="../../_images/Backlog3.png"><img alt="../../_images/Backlog3.png" src="../../_images/Backlog3.png" style="width: 400px;" /></a>
<p><strong>Burndown Chart</strong></p>
<a class="reference internal image-reference" href="../../_images/Chart3.png"><img alt="../../_images/Chart3.png" src="../../_images/Chart3.png" style="width: 600px;" /></a>
</div> </div>
<div class="section" id="definition-of-ready"> <div class="section" id="definition-of-ready">
<h2>Definition of Ready<a class="headerlink" href="#definition-of-ready" title="Link a questa intestazione"></a></h2> <h2>Definition of Ready<a class="headerlink" href="#definition-of-ready" title="Link a questa intestazione"></a></h2>
@ -265,9 +259,40 @@
<li><p>Merge dei sorgenti nel branch <code class="docutils literal notranslate"><span class="pre">main</span></code> di GitLab</p></li> <li><p>Merge dei sorgenti nel branch <code class="docutils literal notranslate"><span class="pre">main</span></code> di GitLab</p></li>
</ul> </ul>
</div> </div>
<div class="section" id="statistiche">
<h2>Statistiche<a class="headerlink" href="#statistiche" title="Link a questa intestazione"></a></h2>
<div class="section" id="gitinspector">
<h3>Gitinspector<a class="headerlink" href="#gitinspector" title="Link a questa intestazione"></a></h3>
<div class="admonition note">
<p class="admonition-title">Nota</p>
<p>La statistica dello sprint 3 non è ancora stata generata dal prof. Marcello Missiroli.</p>
</div>
</div>
<div class="section" id="schermata-finale-di-sonarqube">
<h3>Schermata finale di SonarQube<a class="headerlink" href="#schermata-finale-di-sonarqube" title="Link a questa intestazione"></a></h3>
<p>La schermata finale di SonarQube è visibile a questo link:</p>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/1268efebad705c0294253e96919c5164/3-sonarqube.pdf"><code class="xref download docutils literal notranslate"><span class="pre">3-sonarqube.pdf</span></code></a></p></li>
</ul>
</div>
</div>
<div class="section" id="final-retrospective">
<h2>Final Retrospective<a class="headerlink" href="#final-retrospective" title="Link a questa intestazione"></a></h2>
<div class="admonition-todo admonition" id="id1">
<p class="admonition-title">Da fare</p>
<p>Inserire qui la Retrospettiva finale.</p>
</div>
</div>
<div class="section" id="demo">
<h2>Demo<a class="headerlink" href="#demo" title="Link a questa intestazione"></a></h2>
<p>Il video di Demo è disponibile al seguente link:</p>
<ul class="simple">
<li><p><a class="reference external" href="https://drive.google.com/file/d/15o70Ffe51CNj8LTKHC9dGiqRVnbv9UpZ/view">https://drive.google.com/file/d/15o70Ffe51CNj8LTKHC9dGiqRVnbv9UpZ/view</a></p></li>
</ul>
</div>
<div class="section" id="registro-attivita"> <div class="section" id="registro-attivita">
<h2>Registro attività<a class="headerlink" href="#registro-attivita" title="Link a questa intestazione"></a></h2> <h2>Registro attività<a class="headerlink" href="#registro-attivita" title="Link a questa intestazione"></a></h2>
<div class="admonition-todo admonition" id="id1"> <div class="admonition-todo admonition" id="id2">
<p class="admonition-title">Da fare</p> <p class="admonition-title">Da fare</p>
<p>Compilare il registro attività dello sprint 3.</p> <p>Compilare il registro attività dello sprint 3.</p>
</div> </div>
@ -298,10 +323,6 @@
<td><p>1.5 h</p></td> <td><p>1.5 h</p></td>
<td><p>sprint retrospective</p></td> <td><p>sprint retrospective</p></td>
</tr> </tr>
<tr class="row-odd"><td></td>
<td></td>
<td></td>
</tr>
</tbody> </tbody>
</table> </table>
</div> </div>
@ -475,6 +496,10 @@
</div> </div>
<div class="section" id="stefano-pigozzi"> <div class="section" id="stefano-pigozzi">
<h4>Stefano Pigozzi<a class="headerlink" href="#stefano-pigozzi" title="Link a questa intestazione"></a></h4> <h4>Stefano Pigozzi<a class="headerlink" href="#stefano-pigozzi" title="Link a questa intestazione"></a></h4>
<div class="admonition-todo admonition" id="id3">
<p class="admonition-title">Da fare</p>
<p>Inserire activity log di Stefano Pigozzi relativo allo Sprint 3.</p>
</div>
<table class="docutils align-default"> <table class="docutils align-default">
<colgroup> <colgroup>
<col style="width: 33%" /> <col style="width: 33%" />
@ -555,6 +580,10 @@
</div> </div>
<div class="section" id="giorgio-minoccari"> <div class="section" id="giorgio-minoccari">
<h4>Giorgio Minoccari<a class="headerlink" href="#giorgio-minoccari" title="Link a questa intestazione"></a></h4> <h4>Giorgio Minoccari<a class="headerlink" href="#giorgio-minoccari" title="Link a questa intestazione"></a></h4>
<div class="admonition-todo admonition" id="id4">
<p class="admonition-title">Da fare</p>
<p>Inserire activity log di Giorgio Minoccari relativo allo Sprint 3.</p>
</div>
<table class="docutils align-default"> <table class="docutils align-default">
<colgroup> <colgroup>
<col style="width: 33%" /> <col style="width: 33%" />
@ -635,35 +664,6 @@
</div> </div>
</div> </div>
</div> </div>
<div class="section" id="statistiche">
<h2>Statistiche<a class="headerlink" href="#statistiche" title="Link a questa intestazione"></a></h2>
<div class="section" id="gitinspector">
<h3>Gitinspector<a class="headerlink" href="#gitinspector" title="Link a questa intestazione"></a></h3>
<div class="admonition-todo admonition" id="id2">
<p class="admonition-title">Da fare</p>
<p>Il prof. Marcello Missiroli non ha ancora generato la statistica dello Sprint 3.</p>
</div>
</div>
</div>
<div class="section" id="retrospettiva-finale">
<h2>Retrospettiva finale<a class="headerlink" href="#retrospettiva-finale" title="Link a questa intestazione"></a></h2>
<div class="admonition-todo admonition" id="id3">
<p class="admonition-title">Da fare</p>
<p>Inserire qui la Retrospettiva finale.</p>
</div>
</div>
<div class="section" id="schermata-finale-di-sonarqube">
<h2>Schermata finale di SonarQube<a class="headerlink" href="#schermata-finale-di-sonarqube" title="Link a questa intestazione"></a></h2>
<ul class="simple">
<li><p><a class="reference download internal" download="" href="../../_downloads/d417ae167a3d99b54bd37ef26407aa0d/sonarqube.pdf"><code class="xref download docutils literal notranslate"><span class="pre">Schermata</span> <span class="pre">finale</span> <span class="pre">Sonarqube</span></code></a></p></li>
</ul>
</div>
<div class="section" id="demo">
<h2>Demo<a class="headerlink" href="#demo" title="Link a questa intestazione"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://drive.google.com/file/d/15o70Ffe51CNj8LTKHC9dGiqRVnbv9UpZ/view?usp=sharing">https://drive.google.com/file/d/15o70Ffe51CNj8LTKHC9dGiqRVnbv9UpZ/view?usp=sharing</a></p></li>
</ul>
</div>
</div> </div>

View file

@ -95,12 +95,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="conclusions.html">Conclusioni</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Suggerimenti relativi al corso</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Suggerimenti relativi al corso</a></li>
@ -181,24 +177,55 @@
<div class="section" id="suggerimenti-relativi-al-corso"> <div class="section" id="suggerimenti-relativi-al-corso">
<h1>Suggerimenti relativi al corso<a class="headerlink" href="#suggerimenti-relativi-al-corso" title="Link a questa intestazione"></a></h1> <h1>Suggerimenti relativi al corso<a class="headerlink" href="#suggerimenti-relativi-al-corso" title="Link a questa intestazione"></a></h1>
<ul class="simple">
<li><p>Il team concorda sull'<strong>utilità del progetto</strong> poiché permette di utilizzare le nozioni viste a lezione nella pratica,
facendo quindi esperienza sulle varie metodologie da adottare e le varie problematiche in cui si può incorrere.</p></li>
<li><p>Il team concorda nel dire che <strong>il progetto è eccessivamente corposo</strong>:</p>
<ul> <ul>
<li><p>Il <em>team</em> concorda <strong>sullutilità del progetto</strong> poiché permette di utlizzare le nozioni viste a lezione praticamente (le varie metodologie da adottare e le problematiche in cui si può incorrere).</p></li> <li><p>Tecnicamente a 6 CFU dovrebbero corrispondere circa 125 ore di lavoro, mentre questo progetto ne ha richieste molte di più.</p></li>
<li><p>Il <em>team</em> concorda nel dire che <strong>il progetto è eccessivamente corposo</strong>:</p> <li><p>Suggeriamo quindi di <strong>alleggerire significativamente il carico di lavoro</strong>, e renderlo più proporzionato ai
<blockquote> crediti previsti.</p></li>
<div><ul class="simple">
<li><p>Tecnicamente a 6 cfu dovrebbero corrispondere circa 125 ore di lavoro, mentre questo progetto ne ha richieste molte di più.</p></li>
<li><p>Suggeriamo quindi di alleggerire il carico di lavoro, e renderlo più proporzionale ai crediti assegnati.</p></li>
</ul> </ul>
</div></blockquote>
</li> </li>
<li><p>Il <em>team</em> suggerisce di <strong>utilizzare GitHub al posto di Gitlab</strong>, poiché più comodo e funzionale.</p></li> <li><p>Il team suggerisce di lasciare agli studenti <strong>scelta completamente libera sugli strumenti da adottare</strong>, in quanto si
<li><p>Il <em>team</em> concorda nel dire che sarebbe molto utile la <strong>partecipazione diretta del prof</strong> durante le prime fasi di progetto, allinizio del lavoro, per instradare il gruppo nella giusta direzione ed evitare leffetto «salto nel buio»:</p> sono verificati svariati problemi con quelli previsti dal corso:</p>
<blockquote> <ul>
<div><ul class="simple"> <li><p>Le istanze di Taiga, GitLab e SonarQube ospitate dall'Università si sono dimostrate inaffidabili,
<li><p>Sarebbe stato piacevole avere una buona spiegazione delle regole dello Scrumble</p></li> portando il team a dover ospitare le proprie e quindi a perderci una fetta significativa del proprio tempo.</p>
<li><p>Avere qualche lezione più specifica sui tool da utilizzare (sonarqube ecc..)</p></li> <ul>
<li><p>CAS è supportato solo su Debian, e lo script di installazione esegue operazioni con effetti collaterali sul
Docker del sistema host.</p></li>
<li><p>L'installazione di Taiga tramite Docker Compose ha richiesto 5 ore, in quanto una race condition presente nel
file <code class="docutils literal notranslate"><span class="pre">docker-compose.yml</span></code> impediva al software di raggiungere il database.</p></li>
<li><p>L'installazione e manutenzione di GitLab ha richiesto 5 ore, e richiede competenze di amministrazione di sistema
avanzate che sono oltre il livello dello studente medio del terzo anno di Informatica.</p></li>
</ul>
</li>
<li><p>Taiga, per quanto funzionale, è un po' acerbo a livello di User Experience, il che ha portato a svariati grattacapi
durante il suo utilizzo da parte del team.</p>
<ul>
<li><p>Inoltre, è in parte superfluo: quasi tutte le funzionalità che fornisce sono già implementate sui sistemi di issues
di GitHub e GitLab.</p></li>
</ul>
</li>
<li><p>Utilizzare GitLab invece che il più popolare GitHub impedisce di sfruttare la licenza gratuita o <a class="reference external" href="https://education.github.com/pack">universitaria</a> di
numerosi strumenti di Continuous Integration e Deployment, quali <a class="reference external" href="https://github.com/features/actions">GitHub Actions</a>, <a class="reference external" href="https://readthedocs.org/">Read the Docs</a> e <a class="reference external" href="https://render.com/">Render</a>.</p></li>
<li><p>SonarQube, per quanto semplice da installare, è molto complesso da utilizzare: il team ha necessitato di parecchie
ore per capirne il funzionamento.</p>
<ul>
<li><p>È forse anche superfluo: tutte le issues che ha segnalato erano già state segnalate in precedenza dal sistema di
linting di IntelliJ IDEA Ultimate.</p></li>
</ul>
</li>
</ul>
</li>
<li><p>Il team concorda nel dire che sarebbe molto utile la <strong>partecipazione diretta del prof</strong> durante le prime fasi di
progetto, all'inizio del lavoro, per instradare il gruppo nella giusta direzione ed evitare l'effetto &quot;salto nel buio&quot;:</p>
<ul>
<li><p>Sarebbe stato piacevole avere una spiegazione più dettagliata delle regole dello Scrumble, e soprattutto sul come
giocarlo a distanza.</p></li>
<li><p>Sarebbero state utili lezioni più specifica sui tool da utilizzare, come SonarQube.</p></li>
</ul> </ul>
</div></blockquote>
</li> </li>
</ul> </ul>
</div> </div>

View file

@ -40,8 +40,8 @@
<link rel="index" title="Indice" href="../genindex.html" /> <link rel="index" title="Indice" href="../genindex.html" />
<link rel="search" title="Cerca" href="../search.html" /> <link rel="search" title="Cerca" href="../search.html" />
<link rel="next" title="Sprint 0: 04 Apr - 18 Apr" href="sprint0/index.html" /> <link rel="next" title="Processo di sviluppo" href="process.html" />
<link rel="prev" title="Processo di sviluppo" href="process.html" /> <link rel="prev" title="Introduzione" href="goals.html" />
</head> </head>
<body class="wy-body-for-nav"> <body class="wy-body-for-nav">
@ -95,12 +95,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul class="current"> <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Strumenti utilizzati</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="suggestions.html">Suggerimenti relativi al corso</a></li>
@ -185,7 +181,7 @@
<p><a class="reference external" href="https://www.jetbrains.com/idea/">IntelliJ IDEA Ultimate</a></p> <p><a class="reference external" href="https://www.jetbrains.com/idea/">IntelliJ IDEA Ultimate</a></p>
<blockquote> <blockquote>
<div><p>IDE multilinguaggio utilizzato per lo sviluppo di tutte le parti di N.E.S.T., per la scrittura della documentazione, <div><p>IDE multilinguaggio utilizzato per lo sviluppo di tutte le parti di N.E.S.T., per la scrittura della documentazione,
per lesecuzione del testing e per la visualizzazione del coverage, per il refactoring automatico e per lanalisi per l'esecuzione del testing e per la visualizzazione del coverage, per il refactoring automatico e per l'analisi
statica del codice.</p> statica del codice.</p>
</div></blockquote> </div></blockquote>
<p><a class="reference external" href="https://git-scm.com/">Git</a></p> <p><a class="reference external" href="https://git-scm.com/">Git</a></p>
@ -211,7 +207,7 @@ giorno.</p>
</div></blockquote> </div></blockquote>
<p><a class="reference external" href="https://www.sonarqube.org/">SonarQube</a></p> <p><a class="reference external" href="https://www.sonarqube.org/">SonarQube</a></p>
<blockquote> <blockquote>
<div><p>Applicazione web self-hosted per lanalisi statica e visualizzazione del coverage del software, utilizzata per <div><p>Applicazione web self-hosted per l'analisi statica e visualizzazione del coverage del software, utilizzata per
il miglioramento della qualità del codice del progetto.</p> il miglioramento della qualità del codice del progetto.</p>
<div class="admonition hint"> <div class="admonition hint">
<p class="admonition-title">Suggerimento</p> <p class="admonition-title">Suggerimento</p>
@ -235,8 +231,8 @@ tra i membri del team.</p>
</div> </div>
<footer> <footer>
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation"> <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
<a href="sprint0/index.html" class="btn btn-neutral float-right" title="Sprint 0: 04 Apr - 18 Apr" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a> <a href="process.html" class="btn btn-neutral float-right" title="Processo di sviluppo" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
<a href="process.html" class="btn btn-neutral float-left" title="Processo di sviluppo" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a> <a href="goals.html" class="btn btn-neutral float-left" title="Introduzione" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
</div> </div>
<hr/> <hr/>

View file

@ -93,12 +93,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="development/suggestions.html">Suggerimenti relativi al corso</a></li>

View file

@ -99,12 +99,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/suggestions.html">Suggerimenti relativi al corso</a></li>
@ -186,19 +182,19 @@
<div class="section" id="il-progetto-in-breve"> <div class="section" id="il-progetto-in-breve">
<h1>Il progetto in breve<a class="headerlink" href="#il-progetto-in-breve" title="Link a questa intestazione"></a></h1> <h1>Il progetto in breve<a class="headerlink" href="#il-progetto-in-breve" title="Link a questa intestazione"></a></h1>
<p><strong>N.E.S.T.</strong> (Noi Estraiamo Statistiche Tweet) è un progetto realizzato nel 2021 per <p><strong>N.E.S.T.</strong> (Noi Estraiamo Statistiche Tweet) è un progetto realizzato nel 2021 per
l<strong>esame di Progetto del Software</strong> del corso di Informatica allUnimore.</p> l'<strong>esame di Progetto del Software</strong> del corso di Informatica all'Unimore.</p>
<div class="section" id="suddivisione-in-moduli"> <div class="section" id="suddivisione-in-moduli">
<h2>Suddivisione in moduli<a class="headerlink" href="#suddivisione-in-moduli" title="Link a questa intestazione"></a></h2> <h2>Suddivisione in moduli<a class="headerlink" href="#suddivisione-in-moduli" title="Link a questa intestazione"></a></h2>
<p>Il progetto è composto da tre parti:</p> <p>Il progetto è composto da tre parti:</p>
<dl class="simple"> <dl class="simple">
<dt><a class="reference internal" href="../code/crawler/index.html#module-nest_crawler" title="nest_crawler"><code class="xref py py-mod docutils literal notranslate"><span class="pre">nest_crawler</span></code></a></dt><dd><p>Un modulo scritto in <a class="reference external" href="https://www.python.org/">Python</a> usando <code class="xref py py-mod docutils literal notranslate"><span class="pre">tweepy</span></code> che recupera tweet attraverso la <a class="reference external" href="https://developer.twitter.com/en/docs/twitter-api">Twitter API</a> secondo le <dt><a class="reference internal" href="../code/crawler/index.html#module-nest_crawler" title="nest_crawler"><code class="xref py py-mod docutils literal notranslate"><span class="pre">nest_crawler</span></code></a></dt><dd><p>Un modulo scritto in <a class="reference external" href="https://www.python.org/">Python</a> usando <code class="xref py py-mod docutils literal notranslate"><span class="pre">tweepy</span></code> che recupera tweet attraverso la <a class="reference external" href="https://developer.twitter.com/en/docs/twitter-api">Twitter API</a> secondo le
condizioni presenti allinterno del database e li salva per future elaborazioni.</p> condizioni presenti all'interno del database e li salva per future elaborazioni.</p>
</dd> </dd>
<dt><a class="reference internal" href="../code/backend/index.html#module-nest_backend" title="nest_backend"><code class="xref py py-mod docutils literal notranslate"><span class="pre">nest_backend</span></code></a></dt><dd><p>Un web server scritto in <a class="reference external" href="https://www.python.org/">Python</a> usando il framework <a class="reference external" href="https://flask.palletsprojects.com/en/1.1.x/api/#module-flask" title="(in Flask v1.1.x)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">flask</span></code></a> che fornisce unAPI HTTP per visualizzare e <dt><a class="reference internal" href="../code/backend/index.html#module-nest_backend" title="nest_backend"><code class="xref py py-mod docutils literal notranslate"><span class="pre">nest_backend</span></code></a></dt><dd><p>Un web server scritto in <a class="reference external" href="https://www.python.org/">Python</a> usando il framework <a class="reference external" href="https://flask.palletsprojects.com/en/1.1.x/api/#module-flask" title="(in Flask v1.1.x)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">flask</span></code></a> che fornisce un'API HTTP per visualizzare e
manipolare i dati dellapplicazione, gestendo autenticazione, autorizzazione e comunicazione con il database.</p> manipolare i dati dell'applicazione, gestendo autenticazione, autorizzazione e comunicazione con il database.</p>
</dd> </dd>
<dt><code class="xref js js-mod docutils literal notranslate"><span class="pre">nest_frontend</span></code></dt><dd><p>Una applicazione web scritta in <a class="reference external" href="https://reactjs.org/docs/introducing-jsx.html">JSX</a> usando il framework <code class="xref js js-mod docutils literal notranslate"><span class="pre">react</span></code> che comunica con il backend, mostrando <dt><code class="xref js js-mod docutils literal notranslate"><span class="pre">nest_frontend</span></code></dt><dd><p>Una applicazione web scritta in <a class="reference external" href="https://reactjs.org/docs/introducing-jsx.html">JSX</a> usando il framework <code class="xref js js-mod docutils literal notranslate"><span class="pre">react</span></code> che comunica con il backend, mostrando
allutente i dati del backend in una formato immediatamente comprensibile.</p> all'utente i dati del backend in una formato immediatamente comprensibile.</p>
</dd> </dd>
</dl> </dl>
</div> </div>

View file

@ -111,12 +111,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/suggestions.html">Suggerimenti relativi al corso</a></li>
@ -213,7 +209,7 @@
<li><p><a class="reference external" href="https://nodejs.org/">NodeJS ^16.0</a></p></li> <li><p><a class="reference external" href="https://nodejs.org/">NodeJS ^16.0</a></p></li>
<li><p><a class="reference external" href="https://www.npmjs.com/">npm ^7.13.0</a></p></li> <li><p><a class="reference external" href="https://www.npmjs.com/">npm ^7.13.0</a></p></li>
<li><p>Un mail server (interno o esterno) che supporti <li><p>Un mail server (interno o esterno) che supporti
l<a class="reference external" href="https://it.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol">SMTP</a></p></li> l'<a class="reference external" href="https://it.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol">SMTP</a></p></li>
</ul> </ul>
</div> </div>
<div class="section" id="creare-un-nuovo-utente"> <div class="section" id="creare-un-nuovo-utente">
@ -280,8 +276,8 @@ Si veda il manuale di <a class="reference external" href="https://linux.die.net/
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">nest:~/g2-progetto$ </span>poetry install <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">nest:~/g2-progetto$ </span>poetry install
</pre></div> </pre></div>
</div> </div>
<p>Poetry creerà automaticamente un <a class="reference external" href="https://docs.python.org/3/library/venv.html">venv</a> e vi installerà allinterno tutti <p>Poetry creerà automaticamente un <a class="reference external" href="https://docs.python.org/3/library/venv.html">venv</a> e vi installerà all'interno tutti
i pacchetti necessari allesecuzione del backend e del crawler di N.E.S.T. .</p> i pacchetti necessari all'esecuzione del backend e del crawler di N.E.S.T. .</p>
<p><strong>Si suggerisce di ricordare il nome del venv creato da Poetry</strong>, in quanto sarà necessario per <p><strong>Si suggerisce di ricordare il nome del venv creato da Poetry</strong>, in quanto sarà necessario per
<a class="reference internal" href="#creare-un-servizio-systemd-per-il-backend"><span class="std std-ref">Creare un servizio SystemD per il backend</span></a>:</p> <a class="reference internal" href="#creare-un-servizio-systemd-per-il-backend"><span class="std std-ref">Creare un servizio SystemD per il backend</span></a>:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">Creating virtualenv nest-7C2fm2VD-py3.9 in /srv/nest/.cache/pypoetry/virtualenvs</span> <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="go">Creating virtualenv nest-7C2fm2VD-py3.9 in /srv/nest/.cache/pypoetry/virtualenvs</span>
@ -295,8 +291,8 @@ i pacchetti necessari allesecuzione del backend e del crawler di N.E.S.T. .</
</pre></div> </pre></div>
</div> </div>
<p>npm creerà automaticamente una cartella <p>npm creerà automaticamente una cartella
<a class="reference external" href="https://docs.npmjs.com/cli/v7/configuring-npm/folders#node-modules">node_modules</a> e vi installerà allinterno tutte <a class="reference external" href="https://docs.npmjs.com/cli/v7/configuring-npm/folders#node-modules">node_modules</a> e vi installerà all'interno tutte
le librerie necessarie allesecuzione del frontend di N.E.S.T. .</p> le librerie necessarie all'esecuzione del frontend di N.E.S.T. .</p>
</div> </div>
<div class="section" id="creare-un-servizio-systemd-per-il-backend"> <div class="section" id="creare-un-servizio-systemd-per-il-backend">
<h2>Creare un servizio SystemD per il backend<a class="headerlink" href="#creare-un-servizio-systemd-per-il-backend" title="Link a questa intestazione"></a></h2> <h2>Creare un servizio SystemD per il backend<a class="headerlink" href="#creare-un-servizio-systemd-per-il-backend" title="Link a questa intestazione"></a></h2>
@ -305,7 +301,7 @@ servizio di sistema di <em>SystemD</em>:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl edit --force --full nest-backend <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl edit --force --full nest-backend
</pre></div> </pre></div>
</div> </div>
<p>Inserire allinterno del file le seguenti direttive:</p> <p>Inserire all'interno del file le seguenti direttive:</p>
<div class="highlight-systemd notranslate"><div class="highlight"><pre><span></span>[Unit] <div class="highlight-systemd notranslate"><div class="highlight"><pre><span></span>[Unit]
Description=N.E.S.T. Backend Description=N.E.S.T. Backend
Wants=network-online.target postgresql.service Wants=network-online.target postgresql.service
@ -329,7 +325,7 @@ WantedBy=multi-user.target
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl start nest-backend <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl start nest-backend
</pre></div> </pre></div>
</div> </div>
<p>In caso di successo, lAPI dovrebbe essere esposto sulla porta <code class="docutils literal notranslate"><span class="pre">30040</span></code> dellindirizzo di loopback <code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code>:</p> <p>In caso di successo, l'API dovrebbe essere esposto sulla porta <code class="docutils literal notranslate"><span class="pre">30040</span></code> dell'indirizzo di loopback <code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code>:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>curl <span class="m">127</span>.0.0.1:30040/doa <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>curl <span class="m">127</span>.0.0.1:30040/doa
<span class="go">If you see this, the server is fine.</span> <span class="go">If you see this, the server is fine.</span>
</pre></div> </pre></div>
@ -346,7 +342,7 @@ WantedBy=multi-user.target
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">nest:~/g2-progetto$ </span>npm run build <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">nest:~/g2-progetto$ </span>npm run build
</pre></div> </pre></div>
</div> </div>
<p>Verrà creata una cartella <code class="docutils literal notranslate"><span class="pre">build</span></code> con allinterno la versione compilata.</p> <p>Verrà creata una cartella <code class="docutils literal notranslate"><span class="pre">build</span></code> con all'interno la versione compilata.</p>
</div> </div>
<div class="section" id="creare-un-servizio-systemd-per-il-frontend"> <div class="section" id="creare-un-servizio-systemd-per-il-frontend">
<h2>Creare un servizio SystemD per il frontend<a class="headerlink" href="#creare-un-servizio-systemd-per-il-frontend" title="Link a questa intestazione"></a></h2> <h2>Creare un servizio SystemD per il frontend<a class="headerlink" href="#creare-un-servizio-systemd-per-il-frontend" title="Link a questa intestazione"></a></h2>
@ -355,7 +351,7 @@ integrato con N.E.S.T. come un servizio di sistema di <em>SystemD</em>:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl edit --force --full nest-frontend <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl edit --force --full nest-frontend
</pre></div> </pre></div>
</div> </div>
<p>Inserire allinterno del file le seguenti direttive:</p> <p>Inserire all'interno del file le seguenti direttive:</p>
<div class="highlight-systemd notranslate"><div class="highlight"><pre><span></span>[Unit] <div class="highlight-systemd notranslate"><div class="highlight"><pre><span></span>[Unit]
Description=N.E.S.T. Frontend Description=N.E.S.T. Frontend
Wants=network-online.target nest-backend.service Wants=network-online.target nest-backend.service
@ -401,7 +397,7 @@ WantedBy=multi-user.target
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl start nest-frontend <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl start nest-frontend
</pre></div> </pre></div>
</div> </div>
<p>In caso di successo, il frontend dovrebbe essere esposto sulla porta <code class="docutils literal notranslate"><span class="pre">30041</span></code> dellindirizzo di loopback <code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code>:</p> <p>In caso di successo, il frontend dovrebbe essere esposto sulla porta <code class="docutils literal notranslate"><span class="pre">30041</span></code> dell'indirizzo di loopback <code class="docutils literal notranslate"><span class="pre">127.0.0.1</span></code>:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>curl <span class="m">127</span>.0.0.1:30041 <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>curl <span class="m">127</span>.0.0.1:30041
<span class="go">[...]</span> <span class="go">[...]</span>
</pre></div> </pre></div>
@ -417,7 +413,7 @@ WantedBy=multi-user.target
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl edit --force --full nest-crawler <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl edit --force --full nest-crawler
</pre></div> </pre></div>
</div> </div>
<p>Allinterno del file, inserire le seguenti direttive:</p> <p>All'interno del file, inserire le seguenti direttive:</p>
<div class="highlight-systemd notranslate"><div class="highlight"><pre><span></span>[Unit] <div class="highlight-systemd notranslate"><div class="highlight"><pre><span></span>[Unit]
Description=N.E.S.T. Crawler Description=N.E.S.T. Crawler
Wants=network-online.target nest-backend.service Wants=network-online.target nest-backend.service
@ -444,13 +440,13 @@ WantedBy=multi-user.target
<p class="admonition-title">Nota</p> <p class="admonition-title">Nota</p>
<p>Per utilizzare gli API di Twitter, è necessario essere approvati dal supporto tecnico di Twitter.</p> <p>Per utilizzare gli API di Twitter, è necessario essere approvati dal supporto tecnico di Twitter.</p>
<p>È dunque necessario <a class="reference external" href="https://developer.twitter.com/en/apply-for-access">fare richiesta</a>, e sarà possibile <p>È dunque necessario <a class="reference external" href="https://developer.twitter.com/en/apply-for-access">fare richiesta</a>, e sarà possibile
procedere con linstallazione solo una volta ricevute le credenziali per lutilizzo.</p> procedere con l'installazione solo una volta ricevute le credenziali per l'utilizzo.</p>
</div> </div>
<p>Per impostare le variabili di ambiente richieste dal crawler, si suggerisce di creare un <em>file di override</em> di SystemD:</p> <p>Per impostare le variabili di ambiente richieste dal crawler, si suggerisce di creare un <em>file di override</em> di SystemD:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl edit nest-crawler <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl edit nest-crawler
</pre></div> </pre></div>
</div> </div>
<p>Allinterno del file, inserire le seguenti direttive:</p> <p>All'interno del file, inserire le seguenti direttive:</p>
<div class="highlight-systemd notranslate"><div class="highlight"><pre><span></span>[Service] <div class="highlight-systemd notranslate"><div class="highlight"><pre><span></span>[Service]
# Sostituire a questi caratteri la Consumer Key ricevuta da Twitter # Sostituire a questi caratteri la Consumer Key ricevuta da Twitter
@ -500,7 +496,7 @@ Environment=SMTP_FROM_EMAIL=nest-bot@ryg.one
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl edit --force --full nest-crawler.timer <div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">root:~# </span>systemctl edit --force --full nest-crawler.timer
</pre></div> </pre></div>
</div> </div>
<p>Si inseriscano allinterno del file le seguenti direttive:</p> <p>Si inseriscano all'interno del file le seguenti direttive:</p>
<div class="highlight-systemd notranslate"><div class="highlight"><pre><span></span>[Unit] <div class="highlight-systemd notranslate"><div class="highlight"><pre><span></span>[Unit]
Description=Run nest-crawler every 60 minutes Description=Run nest-crawler every 60 minutes
@ -528,7 +524,7 @@ WantedBy=timers.target
</div> </div>
<div class="section" id="configurare-apache-come-reverse-proxy"> <div class="section" id="configurare-apache-come-reverse-proxy">
<h2>Configurare Apache come reverse proxy<a class="headerlink" href="#configurare-apache-come-reverse-proxy" title="Link a questa intestazione"></a></h2> <h2>Configurare Apache come reverse proxy<a class="headerlink" href="#configurare-apache-come-reverse-proxy" title="Link a questa intestazione"></a></h2>
<p>Per rendere lAPI e il frontend disponibili al pubblico, si suggerisce di configurare Apache HTTP Server <p>Per rendere l'API e il frontend disponibili al pubblico, si suggerisce di configurare Apache HTTP Server
come reverse proxy.</p> come reverse proxy.</p>
<p>La configurazione di Apache varia molto da distribuzione a distribuzione Linux, e talvolta anche da server a server; <p>La configurazione di Apache varia molto da distribuzione a distribuzione Linux, e talvolta anche da server a server;
pertanto, si fornisce solamente un file <a class="reference external" href="https://httpd.apache.org/docs/2.4/vhosts/examples.html">VirtualHost</a> di pertanto, si fornisce solamente un file <a class="reference external" href="https://httpd.apache.org/docs/2.4/vhosts/examples.html">VirtualHost</a> di

View file

@ -95,12 +95,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="../development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="../development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="../development/suggestions.html">Suggerimenti relativi al corso</a></li>

View file

@ -94,12 +94,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="development/suggestions.html">Suggerimenti relativi al corso</a></li>
@ -218,68 +214,65 @@
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#caratteristiche-degli-utenti">Caratteristiche degli utenti</a></li> <li class="toctree-l2"><a class="reference internal" href="development/goals.html#caratteristiche-degli-utenti">Caratteristiche degli utenti</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#glossario">Glossario</a></li> <li class="toctree-l2"><a class="reference internal" href="development/goals.html#glossario">Glossario</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#macro-funzionalita">Macro-funzionalità</a></li> <li class="toctree-l2"><a class="reference internal" href="development/goals.html#macro-funzionalita">Macro-funzionalità</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#casi-d-uso">Casi duso</a></li> <li class="toctree-l2"><a class="reference internal" href="development/goals.html#casi-d-uso">Casi d'uso</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/goals.html#backlog-generale">Backlog generale</a></li> <li class="toctree-l2"><a class="reference internal" href="development/goals.html#backlog-generale">Backlog generale</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/process.html#sprint-0-dal-5-aprile-al-18-aprile">Sprint 0 - dal 5 Aprile al 18 Aprile</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/process.html#sprint-1-dal-19-aprile-al-2-maggio">Sprint 1 - dal 19 Aprile al 2 Maggio</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/process.html#sprint-2-dal-3-maggio-al-16-maggio">Sprint 2 - dal 3 Maggio al 16 Maggio</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/process.html#sprint-3-dal-19-maggio-al-30-maggio">Sprint 3 - dal 19 Maggio al 30 Maggio</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/process.html#in-generale">In generale</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a><ul> <li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#consegna">Consegna</a></li> <li class="toctree-l2"><a class="reference internal" href="development/process.html#ruoli">Ruoli</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#definition-of-ready">Definition of Ready</a></li> <li class="toctree-l2"><a class="reference internal" href="development/process.html#sprint">Sprint</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#definition-of-done">Definition of Done</a></li> <li class="toctree-l3"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#registro-attivita">Registro attività</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint0/index.html#consegna">Consegna</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#risultati-della-partita-di-scrumble">Risultati della partita di Scrumble</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint0/index.html#definition-of-ready">Definition of Ready</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#statistiche">Statistiche</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint0/index.html#definition-of-done">Definition of Done</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#sprint-retrospective">Sprint Retrospective</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint0/index.html#statistiche">Statistiche</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#sprint-review">Sprint review</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint0/index.html#sprint-retrospective">Sprint Retrospective</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint0/index.html#artefatti">Artefatti</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint0/index.html#sprint-review">Sprint Review</a></li>
<li class="toctree-l4"><a class="reference internal" href="development/sprint0/index.html#artefatti">Artefatti</a></li>
<li class="toctree-l4"><a class="reference internal" href="development/sprint0/index.html#registro-attivita">Registro attività</a></li>
<li class="toctree-l4"><a class="reference internal" href="development/sprint0/index.html#risultati-della-partita-di-scrumble">Risultati della partita di Scrumble</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a><ul> <li class="toctree-l3"><a class="reference internal" href="development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/sprint1/index.html#consegna">Consegna</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint1/index.html#consegna">Consegna</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint1/index.html#goal">Goal</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint1/index.html#goal">Goal</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint1/index.html#backlog">Backlog</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint1/index.html#definition-of-ready">Definition of Ready</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint1/index.html#definition-of-ready">Definition of Ready</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint1/index.html#definition-of-done">Definition of Done</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint1/index.html#definition-of-done">Definition of Done</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint1/index.html#statistiche">Statistiche</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint1/index.html#registro-attivita">Registro attività</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint1/index.html#sprint-retrospective">Sprint Retrospective</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint1/index.html#statistiche">Statistiche</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint1/index.html#sprint-review">Sprint Review</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint1/index.html#sprint-retrospective">Sprint retrospective</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint1/index.html#valutazione-sul-debito-tecnico">Valutazione sul debito tecnico</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint1/index.html#sprint-review">Sprint review</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint1/index.html#valutazione-sulle-user-stories">Valutazione sulle User Stories</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint1/index.html#artefatti">Artefatti</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint1/index.html#registro-attivita">Registro attività</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a><ul> <li class="toctree-l3"><a class="reference internal" href="development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/sprint2/index.html#consegna">Consegna</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint2/index.html#consegna">Consegna</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint2/index.html#goal">Goal</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint2/index.html#goal">Goal</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint2/index.html#backlog">Backlog</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint2/index.html#definition-of-ready">Definition of Ready</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint2/index.html#definition-of-ready">Definition of Ready</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint2/index.html#definition-of-done">Definition of Done</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint2/index.html#definition-of-done">Definition of Done</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint2/index.html#statistiche">Statistiche</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint2/index.html#registro-attivita">Registro attività</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint2/index.html#sprint-retrospective">Sprint Retrospective</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint2/index.html#statistiche">Statistiche</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint2/index.html#sprint-review">Sprint Review</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint2/index.html#sprint-retrospective">Sprint retrospective</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint2/index.html#registro-attivita">Registro attività</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint2/index.html#sprint-review">Sprint review</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a><ul> <li class="toctree-l3"><a class="reference internal" href="development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a><ul>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#consegna">Consegna</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint3/index.html#consegna">Consegna</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#goal">Goal</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint3/index.html#goal">Goal</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#grooming-session">Grooming session</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint3/index.html#grooming-session">Grooming session</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#backlog">Backlog</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint3/index.html#definition-of-ready">Definition of Ready</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#definition-of-ready">Definition of Ready</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint3/index.html#definition-of-done">Definition of Done</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#definition-of-done">Definition of Done</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint3/index.html#statistiche">Statistiche</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#registro-attivita">Registro attività</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint3/index.html#final-retrospective">Final Retrospective</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#statistiche">Statistiche</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint3/index.html#demo">Demo</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#retrospettiva-finale">Retrospettiva finale</a></li> <li class="toctree-l4"><a class="reference internal" href="development/sprint3/index.html#registro-attivita">Registro attività</a></li>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#schermata-finale-di-sonarqube">Schermata finale di SonarQube</a></li> </ul>
<li class="toctree-l2"><a class="reference internal" href="development/sprint3/index.html#demo">Demo</a></li> </li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="development/process.html#burndown-chart-complessiva">Burndown chart complessiva</a></li>
</ul> </ul>
</li> </li>
<li class="toctree-l1"><a class="reference internal" href="development/artifacts.html">Artefatti</a><ul> <li class="toctree-l1"><a class="reference internal" href="development/artifacts.html">Artefatti</a><ul>
@ -302,7 +295,11 @@
<li class="toctree-l1"><a class="reference internal" href="code/database/index.html">Struttura del database</a></li> <li class="toctree-l1"><a class="reference internal" href="code/database/index.html">Struttura del database</a></li>
<li class="toctree-l1"><a class="reference internal" href="code/backend/index.html"><code class="docutils literal notranslate"><span class="pre">nest_backend</span></code> - Web API in Python</a><ul> <li class="toctree-l1"><a class="reference internal" href="code/backend/index.html"><code class="docutils literal notranslate"><span class="pre">nest_backend</span></code> - Web API in Python</a><ul>
<li class="toctree-l2"><a class="reference internal" href="code/backend/index.html#module-nest_backend.gestione"><code class="docutils literal notranslate"><span class="pre">.gestione</span></code> - Metodi di utility</a></li> <li class="toctree-l2"><a class="reference internal" href="code/backend/index.html#module-nest_backend.gestione"><code class="docutils literal notranslate"><span class="pre">.gestione</span></code> - Metodi di utility</a></li>
<li class="toctree-l2"><a class="reference internal" href="code/backend/index.html#module-nest_backend.database"><code class="docutils literal notranslate"><span class="pre">.database</span></code> - Database</a></li> <li class="toctree-l2"><a class="reference internal" href="code/backend/index.html#module-nest_backend.database"><code class="docutils literal notranslate"><span class="pre">.database</span></code> - Database</a><ul>
<li class="toctree-l3"><a class="reference internal" href="code/backend/index.html#module-nest_backend.database.base"><code class="docutils literal notranslate"><span class="pre">.base</span></code> - Estensione flask</a></li>
<li class="toctree-l3"><a class="reference internal" href="code/backend/index.html#module-nest_backend.database.tables"><code class="docutils literal notranslate"><span class="pre">.tables</span></code> - Tabelle</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="code/backend/index.html#routes-percorsi-api"><code class="docutils literal notranslate"><span class="pre">.routes</span></code> - Percorsi API</a></li> <li class="toctree-l2"><a class="reference internal" href="code/backend/index.html#routes-percorsi-api"><code class="docutils literal notranslate"><span class="pre">.routes</span></code> - Percorsi API</a></li>
</ul> </ul>
</li> </li>
@ -324,19 +321,24 @@
<p class="todo-source">(L'<a class="reference internal" href="development/artifacts.html#id2"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/artifacts.rst, linea 12.)</p> <p class="todo-source">(L'<a class="reference internal" href="development/artifacts.html#id2"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/artifacts.rst, linea 12.)</p>
<div class="admonition-todo admonition"> <div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p> <p class="admonition-title">Da fare</p>
<p>Compilare il registro attività dello sprint 3.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint3/index.html#id1"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 74.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Il prof. Marcello Missiroli non ha ancora generato la statistica dello Sprint 3.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint3/index.html#id2"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 367.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Inserire qui la Retrospettiva finale.</p> <p>Inserire qui la Retrospettiva finale.</p>
</div> </div>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint3/index.html#id3"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 375.)</p> <p class="todo-source">(L'<a class="reference internal" href="development/sprint3/index.html#id1"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 98.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Compilare il registro attività dello sprint 3.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint3/index.html#id2"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 114.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Inserire activity log di Stefano Pigozzi relativo allo Sprint 3.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint3/index.html#id3"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 274.)</p>
<div class="admonition-todo admonition">
<p class="admonition-title">Da fare</p>
<p>Inserire activity log di Giorgio Minoccari relativo allo Sprint 3.</p>
</div>
<p class="todo-source">(L'<a class="reference internal" href="development/sprint3/index.html#id4"><em>riga originale</em></a> si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 341.)</p>
</div> </div>
<div class="section" id="altri-collegamenti"> <div class="section" id="altri-collegamenti">
<h2>Altri collegamenti<a class="headerlink" href="#altri-collegamenti" title="Link a questa intestazione"></a></h2> <h2>Altri collegamenti<a class="headerlink" href="#altri-collegamenti" title="Link a questa intestazione"></a></h2>

Binary file not shown.

View file

@ -96,12 +96,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="development/suggestions.html">Suggerimenti relativi al corso</a></li>

View file

@ -96,12 +96,8 @@
<p class="caption"><span class="caption-text">Relazione sul progetto</span></p> <p class="caption"><span class="caption-text">Relazione sul progetto</span></p>
<ul> <ul>
<li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li> <li class="toctree-l1"><a class="reference internal" href="development/goals.html">Introduzione</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li> <li class="toctree-l1"><a class="reference internal" href="development/tools.html">Strumenti utilizzati</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint0/index.html">Sprint 0: 04 Apr - 18 Apr</a></li> <li class="toctree-l1"><a class="reference internal" href="development/process.html">Processo di sviluppo</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint1/index.html">Sprint 1: 19 Apr - 02 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint2/index.html">Sprint 2: 03 Mag - 16 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/sprint3/index.html">Sprint 3: 17 Mag - 30 Mag</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/artifacts.html">Artefatti</a></li> <li class="toctree-l1"><a class="reference internal" href="development/artifacts.html">Artefatti</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/conclusions.html">Conclusioni</a></li> <li class="toctree-l1"><a class="reference internal" href="development/conclusions.html">Conclusioni</a></li>
<li class="toctree-l1"><a class="reference internal" href="development/suggestions.html">Suggerimenti relativi al corso</a></li> <li class="toctree-l1"><a class="reference internal" href="development/suggestions.html">Suggerimenti relativi al corso</a></li>

File diff suppressed because one or more lines are too long

View file

@ -101,6 +101,7 @@ def setup(app):
todo_include_todos = True todo_include_todos = True
todo_emit_warnings = True todo_emit_warnings = True
smartquotes = False
# -- Automodule settings ----------------------------------------------------- # -- Automodule settings -----------------------------------------------------

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

View file

@ -1,10 +1,29 @@
Conclusioni Conclusioni
=========== ===========
* Il *team* ritiene di aver **imparato un sacco di cose nuove**, acquisendo dimestichezza con vari linguaggi e software.
* Il *team* ritiene che **l'organizzazione e collaborazione** tra tutti i membri del gruppo è stata eccellente: * Il team dimostra di aver **imparato numerose nuove nozioni**, acquisendo dimestichezza con vari linguaggi e software,
come:
* Python
* NodeJS
* reStructuredText
* IntelliJ IDEA
* Taiga
* Git
* GitLab
* SystemD
* *Twitter*
* Il team ritiene che l'**organizzazione e collaborazione** tra tutti i membri del gruppo è stata eccellente:
* Ciascuno aveva un suo compito e non sono sorti conflitti. * Ciascuno aveva un suo compito e non sono sorti conflitti.
* L'organizzazione strutturata ci ha permesso di procedere a ritmo sostenuto dall'inizio alla fine, garantendo un svolgimento modulare.
* Il *team* ritiene che **alcune attività**, come le varie riunioni, **sarebbero state più edificanti e veloci** se fossero state effettuate in presenza, purtroppo la pandemia e la distanza non lo hanno reso possibile. * L'organizzazione strutturata ci ha permesso di procedere a ritmo sostenuto dall'inizio alla fine,
realizzando un prodotto efficace e modulare.
* Parte del team ritiene che **alcune attività**, come le varie riunioni, **sarebbero state più edificanti e veloci** se
fossero state effettuate in presenza, purtroppo la pandemia e la distanza non lo hanno reso possibile.
* Parte del team ritiene invece che il **lavoro a distanza** ci ha permesso di adottare metodi migliori di
**comunicazione asincrona**, permettendo ai membri di lavorare indipendentemente uno dall'altro in base alle proprie
disponibilità di tempo.

View file

@ -1,71 +1,35 @@
Processo di sviluppo Processo di sviluppo
==================== ====================
- Lo sviluppo è stato suddiviso in **4 sprint**, ciascuno della durata di *2 settimane* Ruoli
-----
Sprint 0 - dal 5 Aprile al 18 Aprile Per lavorare più efficientemente, ci siamo assegnati uno o più "ruoli" in base alle nostre competenze.
------------------------------------
- `Diari dei partecipanti dello sprint 0`_ :Stefano Goldoni: Product Owner, Tester
:Flavia Cocca: Scrum Master, UI Designer, Documentazione
:Chiara Calzolari: UI Designer, Translator
:Stefano Pigozzi: Frontend Developer, Sysadmin
:Giovanni Anniballi: Lead Tester
:Giorgio Minoccari: Analyst, Crawler Developer
:Lorenzo Balugani: Database Architect, Backend Developer
.. _Diari dei partecipanti dello sprint 0: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint0/index.html#registro-attivita
- `Retrospettiva dello sprint 0`_ Sprint
------
.. _Retrospettiva dello sprint 0: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint0/index.html#retrospettiva-finale Lo sviluppo si è svolto in **4 Sprint** dalla durata di **2 settimane ciascuno**.
Sprint 1 - dal 19 Aprile al 2 Maggio .. toctree::
------------------------------------ :maxdepth: 1
Burndown dello sprint 1 sprint0/index
^^^^^^^^^^^^^^^^^^^^^^^ sprint1/index
.. image:: Burndown1.png sprint2/index
:width: 600 sprint3/index
- `Diari dei partecipanti dello sprint 1`_
.. _Diari dei partecipanti dello sprint 1: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint1/index.html#registro-attivita Burndown chart complessiva
--------------------------
- `Retrospettiva dello sprint 1`_
.. _Retrospettiva dello sprint 1: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint1/index.html#retrospettiva-finale
Sprint 2 - dal 3 Maggio al 16 Maggio
------------------------------------
Burndown dello sprint 2
^^^^^^^^^^^^^^^^^^^^^^^
.. image:: Burndown2.png
:width: 600
- `Diari dei partecipanti dello sprint 2`_
.. _Diari dei partecipanti dello sprint 2: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint2/index.html#registro-attivita
- `Retrospettiva dello sprint 2`_
.. _Retrospettiva dello sprint 2: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint2/index.html#retrospettiva-finale
Sprint 3 - dal 19 Maggio al 30 Maggio
-------------------------------------
Burndown dello sprint 3
^^^^^^^^^^^^^^^^^^^^^^^
.. image:: Burndown3.png
:width: 600
- `Diari dei partecipanti dello sprint 3`_
.. _Diari dei partecipanti dello sprint 3: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint3/index.html#registro-attivita
- `Retrospettiva dello sprint 3`_
.. _Retrospettiva dello sprint 3: http://localhost:63342/N.E.S.T./Modulo%20unico/docs/build/html/development/sprint3/index.html#retrospettiva-finale
In generale
-----------
Burndown totale
^^^^^^^^^^^^^^^
.. image:: Burndown4.png .. image:: Burndown4.png
:width: 600

View file

@ -6,8 +6,8 @@ Consegna
La seguente documentazione è stata fornita dal cliente durante questo sprint: La seguente documentazione è stata fornita dal cliente durante questo sprint:
- :download:`Descrizione iniziale del prodotto <0-initial.pdf>` - :download:`0-initial.pdf`
- :download:`Sprint 0 <0-sprint-requirements.pdf>` - :download:`0-sprint-requirements.pdf`
Definition of Ready Definition of Ready
@ -15,11 +15,11 @@ Definition of Ready
Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri: Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:
* La User Story è stata compresa ed accettata da tutti i membri - La User Story è stata compresa ed accettata da tutti i membri
* I tester hanno confermato la possibilità di poterla testare - I tester hanno confermato la possibilità di poterla testare
* Il Product Owner ha la visione necessaria per definirne la priorità - Il Product Owner ha la visione necessaria per definirne la priorità
* Il Team è in grado di stimarla - Il Team è in grado di stimarla
* La User Story è indipendente o dipendente da altre a priorità maggiore - La User Story è indipendente o dipendente da altre a priorità maggiore
Definition of Done Definition of Done
@ -28,10 +28,49 @@ Definition of Done
La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così
definita: definita:
* Sviluppo completo della funzionalità richiesta - Sviluppo completo della funzionalità richiesta
* Definizione e superamento dei test - Definizione e superamento dei test
* Bozza della documentazione della funzionalità - Bozza della documentazione della funzionalità
* Merge dei sorgenti nel branch ``main`` del repository Git - Merge dei sorgenti nel branch ``main`` del repository Git
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`0-stats.html`
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint Retrospective
--------------------
La Sprint Retrospective è disponibile al seguente link:
- :download:`0-retrospective.pdf`
Sprint Review
-------------
Il video di Sprint Review è disponibile al seguente link:
- https://drive.google.com/file/d/12worWEcx-uf2UP4_lnEOovHZpvR77MsG/view
Artefatti
---------
In questo sprint è stato realizzato un documento con i risultati dell'analisi effettuata per realizzare il software:
- :download:`0-result.pdf`
Registro attività Registro attività
@ -81,6 +120,16 @@ Riunioni collettive
Attività individuali Attività individuali
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
.. hint::
Per vedere più in dettaglio il lavoro di sviluppo effettuato da ogni membro del gruppo, si suggerisce di
visualizzare il log di Git:
.. code-block:: console
$ git log
Stefano Goldoni Stefano Goldoni
""""""""""""""" """""""""""""""
@ -453,41 +502,3 @@ Risultati della partita di Scrumble
:4: 6-10 average tasks left :4: 6-10 average tasks left
:5: 0-5 average tasks left :5: 0-5 average tasks left
:Stefano G.: 5 :Stefano G.: 5
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`0-stats.html`
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint Retrospective
--------------------
- :download:`Sprint 0 Retrospective <sprint-0_retrospective.pdf>`
Sprint review
-------------
Il video di sprint review è disponibile al seguente link:
- https://drive.google.com/file/d/12worWEcx-uf2UP4_lnEOovHZpvR77MsG/view
Artefatti
---------
In questo sprint è stato realizzato il seguente documento:
- :download:`Documento generale dello Sprint 0 <0-result.pdf>`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 438 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View file

@ -1,16 +0,0 @@
# Valutazione ScrumMaster debito tecnico
>La valutazione del debito tecnico effettuata da SonarQube è
>relativa principalmente al backend, poiché lanalisi del progetto
>sarebbe stata troppo dispendiosa a causa dellelevato numero di
>file presente nella cartella /frontend.
>Per quanto riguarda il backend invece il debito tecnico riscontrato
> è minore del 5% come si può verificare dal grado A attestato da
>SonarQube.
>Un punto chiave nellimplementazione ha permesso al team [**N.E.S.T.**]
>di diminuire il debito tecnico, questo è avvenuto grazie
>alladozione del modello architetturale REST che ha migliorato
>esponenzialmente il tempo di risposta delle richieste e la
>leggibilità del codice.

View file

@ -4,35 +4,37 @@ Sprint 1: 19 Apr - 02 Mag
Consegna Consegna
-------- --------
La seguente documentazione è stata fornita dal cliente durante questo sprint: La seguente documentazione è stata fornita dal cliente durante questo Sprint:
- :download:`Sprint 1 <1-sprint-requirements.pdf>` - :download:`1-sprint-requirements.pdf`
Goal Goal
---- ----
Il **goal** per questo sprint è stato costruire una codebase facilmente mantenibile e modulare, che potesse accomodare grossi Il **goal** per questo Sprint è stato costruire una codebase facilmente mantenibile e modulare, che potesse accomodare
cambiamenti nei sottomoduli senza impattare gli altri: grossi cambiamenti nei sottomoduli senza impattare gli altri:
- Dal punto di vista del **backend**: l'obiettivo è stato predisporre la struttura del database e creare le api calls per illogin degli utenti e la creazione dei repository - Dal lato **backend**: l'obiettivo è stato predisporre la struttura del database e creare le API calls
- Dal punto di vista del **frontend**: creare la struttura con le componenti importate da figma e implementare le schermate principali per il login degli utenti e la creazione dei repository
Tutto ciò è visibile dai task completati: - Dal lato **testing**: creare un piccolo framework per il testing automatizzato del backend
- Dal lato **frontend**: creare la struttura con le componenti importate da Figma e implementare le schermate principali
.. image:: Sprint1Task.png
:width: 400
Backlog Backlog
------- ^^^^^^^
.. image:: BacklogSprint1.png .. image:: 1-backlog.png
:width: 400 :width: 400
**Burndown Chart**
.. image:: Chart1.png Task completati
:width: 600 ^^^^^^^^^^^^^^^
.. image:: 1-tasks.png
:width: 400
Definition of Ready Definition of Ready
@ -40,21 +42,105 @@ Definition of Ready
Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri: Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:
* La User Story è stata compresa ed accettata da tutti i membri - La User Story è stata compresa ed accettata da tutti i membri
* I tester hanno confermato la possibilità di poterla testare - I tester hanno confermato la possibilità di poterla testare
* Il Product Owner ha la visione necessaria per definirne la priorità - Il Product Owner ha la visione necessaria per definirne la priorità
* Il Team è in grado di stimarla - Il Team è in grado di stimarla
* La User Story è indipendente o dipendente da altre a priorità maggiore - La User Story è indipendente o dipendente da altre a priorità maggiore
Definition of Done Definition of Done
------------------ ------------------
La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita: La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita:
* Sviluppo completo della funzionalità richiesta - Sviluppo completo della funzionalità richiesta
* Definizione e superamento dei test - Definizione e superamento dei test
* Bozza della documentazione della funzionalità - Bozza della documentazione della funzionalità
* Merge dei sorgenti nel branch ``main`` di GitLab - Merge dei sorgenti nel branch ``main`` di GitLab
Statistiche
-----------
Burndown chart
^^^^^^^^^^^^^^
Questa è la burndown chart relativa allo Sprint 1:
.. image:: 1-burndown.png
Gitinspector
^^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`1-stats.html`
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint Retrospective
--------------------
La Sprint Retrospective è disponibile al seguente link:
- :download:`1-retrospective.pdf`
Sprint Review
-------------
Il video di Sprint Review è disponibile al seguente link:
- https://drive.google.com/drive/folders/1dsis_cGCRnVgZAkZjEVIZKt4NndkycaF
Valutazione sul debito tecnico
------------------------------
Durante questo sprint è stata prodotta dallo Scrum Master la seguente valutazione sul debito tecnico:
La valutazione del debito tecnico effettuata da SonarQube è relativa principalmente al backend,
poiché lanalisi del progetto sarebbe stata troppo dispendiosa a causa dellelevato numero di file presente nella
cartella ``/frontend``.
Per quanto riguarda il backend invece il debito tecnico riscontrato è minore del 5% come si può verificare dal
grado A attestato da SonarQube.
Un punto chiave nellimplementazione ha permesso al team di diminuire il debito tecnico, questo è avvenuto grazie
alladozione del modello architetturale REST che ha migliorato esponenzialmente il tempo di risposta delle
richieste e la leggibilità del codice.
-- Flavia Cocca, Scrum Master
Valutazione sulle User Stories
------------------------------
Durante questo sprint è stata prodotta dal Product Owner la seguente valutazione sulle User Stories:
Durante questo sprint non sono state ristimate le US in quanto non sono emerse al termine dello Sprint 0
valutazioni che lo rendessero necessario, di conseguenza non sono state neanche rivalutate le priorità.
Come Product Owner ho individuato come criterio di accettazione l'esito positivo dei test, anche per il fatto che
i test sono presenti in ogni US.
Durante lo sviluppo di questo primo sprint sono ovviamente emerse delle issue che sono state tracciate su Taiga.
Una di queste, la #101 "L'API non è interamente REST" ha portato ad un refactoring di una parte del codice del
backend, del frontend e naturalmente anche delle procedure di test, che erano già state abbozzate.
La modifica comunque si è rilevata essere necessaria per rispondere appieno alle struttura tipica dei metodi REST.
Altre issue sono state inserite ma possono essere sistemate nello sprint successivo in quanto non influiscono sul
funzionamento atteso in questo primo sprint.
Un leggero ritardo sullo sviluppo del frontend non consente di chiudere alcune US, che verranno chiuse e
testate nel prossimo Sprint.
-- Stefano Goldoni, Product Owner
Registro attività Registro attività
@ -84,6 +170,16 @@ Riunioni collettive
Attività individuali Attività individuali
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
.. hint::
Per vedere più in dettaglio il lavoro di sviluppo effettuato da ogni membro del gruppo, si suggerisce di
visualizzare il log di Git:
.. code-block:: console
$ git log
Stefano Goldoni Stefano Goldoni
""""""""""""""" """""""""""""""
@ -156,10 +252,10 @@ Flavia Cocca
- modifica mockup UI - modifica mockup UI
* - 2021-05-01 * - 2021-05-01
- 2h - 2h
- Riunione con il team per sprint review e sprint retrospective - Riunione con il team per Sprint review e Sprint retrospective
* - 2021-05-02 * - 2021-05-02
- 3h - 3h
- Stesura documenti Sprint 1 (debito tecnico e relazione sprint retrospective), realizzazione video Sprint1 review - Stesura documenti Sprint 1 (debito tecnico e relazione Sprint retrospective), realizzazione video Sprint1 review
Chiara Calzolari Chiara Calzolari
@ -389,7 +485,7 @@ Per il lavoro di testing è stata utilizzata anche la tecnica del Pair Programmi
- Testing ritorno di tutte le repository di proprietà dellutente loggato, ritorno delle info inerenti alla repository specificata - Testing ritorno di tutte le repository di proprietà dellutente loggato, ritorno delle info inerenti alla repository specificata
* - 2021-05-01 * - 2021-05-01
- 2h - 2h
- Riunione con il team per sprint review e sprint retrospective - Riunione con il team per Sprint review e Sprint retrospective
* - 2021-05-01 * - 2021-05-01
- 1h - 1h
- Testing modifica ed eliminazione di una repository (nome, stato) - Testing modifica ed eliminazione di una repository (nome, stato)
@ -401,7 +497,7 @@ Per il lavoro di testing è stata utilizzata anche la tecnica del Pair Programmi
Giorgio Minoccari Giorgio Minoccari
""""""""""""""""" """""""""""""""""
Durante lo sprint ho principalmente svolto sviluppo e test riguardo alla API di twitter, in modo da poter effettuare chiamate efficenti e non venire limitati dal sito riguardo alle richieste effettuate. Durante lo Sprint ho principalmente svolto sviluppo e test riguardo alla API di twitter, in modo da poter effettuare chiamate efficenti e non venire limitati dal sito riguardo alle richieste effettuate.
.. list-table:: .. list-table::
:header-rows: 2 :header-rows: 2
@ -488,36 +584,3 @@ Lorenzo Balugani
* - 2021-05-02 * - 2021-05-02
- 1h - 1h
- Bugfixing - Bugfixing
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`Sprint 1 <1-stats.html>`
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint retrospective
--------------------
- :download:`Sprint 1 Retrospective <1-retrospective.pdf>`
Sprint review
-------------
Il video di sprint review è disponibile al seguente link:
- https://drive.google.com/drive/folders/1dsis_cGCRnVgZAkZjEVIZKt4NndkycaF?usp=sharing
Artefatti
---------
- :download:`Valutazion SM Debito Tecnico <ValutazioneSMDebitoTecnico.md>`
- :download:`Valutazione PO User Stories <valutazionePO__US_realizzate_o_rifiutate.md>`

View file

@ -1,7 +0,0 @@
Durante questo sprint non sono state ristimate le US in quanto non sono emerse al termine dello sprint0 valutazioni che lo rendessero necessario, di conseguenza non sono state neanche rivalutate le priorità.
Come product Owner ho individuato come criterio di accettazione l'esito positivo dei test, anche per il fatto che i test sono presenti in ogni US.
Durante lo sviluppo di questo primo sprint sono ovviamente emerse delle issue che sono state tracciate su taiga.
Una di queste, la #101 "L'API non è interamente REST" ha portato ad un refactoring di una parte del codice del backend, del frontend e naturalmente anche delle procedure di test, che erano già state abbozzate. La modifica comunque si è rilevata essere necessaria per rispondere appieno alle struttura tipica dei metodi REST.
Altre issue sono state inserite ma possono essere sistemate nello sprint successivo in quanto non influiscono sul funzionamento atteso in questo primo sprint.
Un leggero ritardo sullo sviluppo del frontend non consente di chiudere alcune US, che verranno chiuse e testate nel prossimo sprint.

View file

@ -6,31 +6,28 @@ Consegna
La seguente documentazione è stata fornita dal cliente durante questo sprint: La seguente documentazione è stata fornita dal cliente durante questo sprint:
- :download:`Sprint 2 <2-sprint-requirements.pdf>` - :download:`2-sprint-requirements.pdf`
Goal Goal
---- ----
Il **goal** del secondo sprint è stato la creazione, cancellazione e modifica dei repository, ovvero permettere agli utenti
di creare repo partendo da una ricerca che rispetta determinate condizioni.
Tutto ciò è visibile dai task completati:
.. image:: Sprint2Task.png
:width: 390
Il **goal** del secondo Sprint è stato la creazione, cancellazione e modifica dei repository, ovvero permettere
agli utenti di creare repository partendo da una ricerca che rispetta determinate condizioni.
Backlog Backlog
------- ^^^^^^^
.. image:: BacklogSprint2.png .. image:: 2-backlog.png
:width: 400 :width: 400
**Burndown Chart**
.. image:: Chart2.png Task completati
:width: 600 ^^^^^^^^^^^^^^^
.. image:: 2-tasks.png
:width: 400
Definition of Ready Definition of Ready
@ -38,23 +35,63 @@ Definition of Ready
Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri: Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:
* La User Story è stata compresa ed accettata da tutti i membri - La User Story è stata compresa ed accettata da tutti i membri
* I tester hanno confermato la possibilità di poterla testare - I tester hanno confermato la possibilità di poterla testare
* Il Product Owner ha la visione necessaria per definirne la priorità - Il Product Owner ha la visione necessaria per definirne la priorità
* Il Team è in grado di stimarla - Il Team è in grado di stimarla
* La User Story è indipendente o dipendente da altre a priorità maggiore - La User Story è indipendente o dipendente da altre a priorità maggiore
Definition of Done Definition of Done
------------------ ------------------
La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita: La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita:
* Sviluppo completo della funzionalità richiesta - Sviluppo completo della funzionalità richiesta
* Definizione e superamento dei test - Definizione e superamento dei test
* Bozza della documentazione della funzionalità - Bozza della documentazione della funzionalità
* Merge dei sorgenti nel branch ``main`` di GitLab - Merge dei sorgenti nel branch ``main`` di GitLab
Statistiche
-----------
Burndown chart
^^^^^^^^^^^^^^
Questa è la burndown chart relativa allo Sprint 2:
.. image:: 2-burndown.png
Gitinspector
^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`2-stats.html` (relativa al codice)
- :download:`2D-stats.html` (relativa a parte della documentazione)
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint Retrospective
--------------------
La Sprint Retrospective è disponibile al seguente link:
- :download:`2-retrospective.pdf`
Sprint Review
-------------
Il video di Sprint Review è disponibile al seguente link:
- https://drive.google.com/file/d/1x1kub-bpVJrwmGrn5LLU8ecqcbxFaoKg/view
Registro attività Registro attività
----------------- -----------------
@ -83,6 +120,16 @@ Riunioni collettive
Attività individuali Attività individuali
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
.. hint::
Per vedere più in dettaglio il lavoro di sviluppo effettuato da ogni membro del gruppo, si suggerisce di
visualizzare il log di Git:
.. code-block:: console
$ git log
Stefano Goldoni Stefano Goldoni
""""""""""""""" """""""""""""""
@ -423,32 +470,3 @@ Lorenzo Balugani
* - 2021-05-14 * - 2021-05-14
- 1h - 1h
- Bugfixing - Bugfixing
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^^
Questa statistica è stata generata dal prof. Marcello Missiroli con
`Gitinspector`_ al termine dello Sprint.
- :download:`Sprint 2 (codice) <2-stats.html>`
- :download:`Sprint 2 (documentazione) <2D-stats.html>`
.. _Gitinspector: https://github.com/ejwa/gitinspector
Sprint retrospective
--------------------
- :download:`Sprint 2 Retrospective <RetrospectiveSprint2.pdf>`
Sprint review
-------------
Il video di sprint review è disponibile al seguente link:
- https://drive.google.com/file/d/1x1kub-bpVJrwmGrn5LLU8ecqcbxFaoKg/view?usp=sharing

View file

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

View file

@ -6,8 +6,8 @@ Consegna
La seguente documentazione è stata fornita dal cliente durante questo sprint: La seguente documentazione è stata fornita dal cliente durante questo sprint:
- :download:`Sprint 3 <3-sprint-requirements.pdf>` - :download:`3-sprint-requirements.pdf`
- :download:`Report finale <3-report.pdf>` - :download:`3-report.pdf`
Goal Goal
@ -15,35 +15,40 @@ Goal
Il **goal** del terzo Sprint è stato far funzionare il crawler, gli alert e completare tutte i task rimanenti. Il **goal** del terzo Sprint è stato far funzionare il crawler, gli alert e completare tutte i task rimanenti.
Tutto ciò è visibile dai task completati:
.. image:: Task3.png Backlog
^^^^^^^
.. image:: 3-backlog.png
:width: 400 :width: 400
Task completati
^^^^^^^^^^^^^^^
.. image:: 3-tasks.png
:width: 400
Grooming session Grooming session
---------------- ----------------
Sono state definite le nuove **User Stories** da inserire nel progetto sulla base delle nuove richieste pervenute dal cliente: Sono state definite le nuove **User Stories** da inserire nel progetto sulla base delle nuove richieste
pervenute dal cliente:
- analisi statistica più dettagliata - analisi statistica più dettagliata
- postare su Twitter - postare su Twitter
- traduzione dell'interfaccia in inglese. - traduzione dell'interfaccia in inglese.
| La richiesta relativa alle *ricerche basate sulla geolocalizzazione*, come già comunicato al cliente, non è stata inserita per motivi tecnici legati alle features delle **API 1.1** che non permettono di eseguire query sui campi di posizione geografica. La richiesta relativa alle *ricerche basate sulla geolocalizzazione*, come già comunicato al cliente, non è stata
| Le nuove User Stories sono state valutate tramite il metodo dello Scrum Poker, durante il quale ogni membro ha espresso la sua valutazione. completata interamente per motivi tecnici legati a limitazioni sulle features delle **API 1.1 di Twitter** che non
| Tutte le nuove richieste sono state accettate dal Product Owner e sono pronte ad essere inserite nello sprint di sviluppo in partenza. permettono di eseguire query su campi di posizione geografica.
Le nuove User Stories sono state valutate tramite Scrum Poker, durante il quale ogni membro ha espresso
la sua valutazione.
Tutte le nuove richieste sono state accettate dal Product Owner e sono pronte ad essere inserite nello sprint di
Backlog sviluppo in partenza.
-------
.. image:: Backlog3.png
:width: 400
**Burndown Chart**
.. image:: Chart3.png
:width: 600
Definition of Ready Definition of Ready
@ -51,21 +56,56 @@ Definition of Ready
Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri: Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri:
* La User Story è stata compresa ed accettata da tutti i membri - La User Story è stata compresa ed accettata da tutti i membri
* I tester hanno confermato la possibilità di poterla testare - I tester hanno confermato la possibilità di poterla testare
* Il Product Owner ha la visione necessaria per definirne la priorità - Il Product Owner ha la visione necessaria per definirne la priorità
* Il Team è in grado di stimarla - Il Team è in grado di stimarla
* La User Story è indipendente o dipendente da altre a priorità maggiore - La User Story è indipendente o dipendente da altre a priorità maggiore
Definition of Done Definition of Done
------------------ ------------------
La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita: La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita:
* Sviluppo completo della funzionalità richiesta - Sviluppo completo della funzionalità richiesta
* Definizione e superamento dei test - Definizione e superamento dei test
* Bozza della documentazione della funzionalità - Bozza della documentazione della funzionalità
* Merge dei sorgenti nel branch ``main`` di GitLab - Merge dei sorgenti nel branch ``main`` di GitLab
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^
.. note::
La statistica dello sprint 3 non è ancora stata generata dal prof. Marcello Missiroli.
Schermata finale di SonarQube
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
La schermata finale di SonarQube è visibile a questo link:
- :download:`3-sonarqube.pdf`
Final Retrospective
-------------------
.. todo::
Inserire qui la Retrospettiva finale.
Demo
----
Il video di Demo è disponibile al seguente link:
- https://drive.google.com/file/d/15o70Ffe51CNj8LTKHC9dGiqRVnbv9UpZ/view
Registro attività Registro attività
@ -97,10 +137,6 @@ Riunioni collettive
- 1.5 h - 1.5 h
- sprint retrospective - sprint retrospective
* -
-
-
Attività individuali Attività individuali
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
@ -235,6 +271,8 @@ Chiara Calzolari
Stefano Pigozzi Stefano Pigozzi
""""""""""""""" """""""""""""""
.. todo:: Inserire activity log di Stefano Pigozzi relativo allo Sprint 3.
.. list-table:: .. list-table::
:header-rows: 2 :header-rows: 2
@ -297,13 +335,11 @@ Giovanni Anniballi
- Aggiornamento documentazione, aggiunti ulteriori test seguendo i suggerimenti di SQ - Aggiornamento documentazione, aggiunti ulteriori test seguendo i suggerimenti di SQ
Giorgio Minoccari Giorgio Minoccari
""""""""""""""""" """""""""""""""""
.. todo:: Inserire activity log di Giorgio Minoccari relativo allo Sprint 3.
.. list-table:: .. list-table::
:header-rows: 2 :header-rows: 2
@ -356,33 +392,3 @@ Lorenzo Balugani
* - 28/05 * - 28/05
- 6h - 6h
- Bugfixing - Bugfixing
Statistiche
-----------
Gitinspector
^^^^^^^^^^^^^
.. todo::
Il prof. Marcello Missiroli non ha ancora generato la statistica dello Sprint 3.
Retrospettiva finale
--------------------
.. todo::
Inserire qui la Retrospettiva finale.
Schermata finale di SonarQube
-----------------------------
- :download:`Schermata finale Sonarqube <sonarqube.pdf>`
Demo
----
- https://drive.google.com/file/d/15o70Ffe51CNj8LTKHC9dGiqRVnbv9UpZ/view?usp=sharing

View file

@ -1,15 +1,56 @@
Suggerimenti relativi al corso Suggerimenti relativi al corso
============================== ==============================
* Il *team* concorda **sull'utilità del progetto** poiché permette di utlizzare le nozioni viste a lezione praticamente (le varie metodologie da adottare e le problematiche in cui si può incorrere).
* Il *team* concorda nel dire che **il progetto è eccessivamente corposo**:
* Tecnicamente a 6 cfu dovrebbero corrispondere circa 125 ore di lavoro, mentre questo progetto ne ha richieste molte di più. * Il team concorda sull'**utilità del progetto** poiché permette di utilizzare le nozioni viste a lezione nella pratica,
* Suggeriamo quindi di alleggerire il carico di lavoro, e renderlo più proporzionale ai crediti assegnati. facendo quindi esperienza sulle varie metodologie da adottare e le varie problematiche in cui si può incorrere.
* Il *team* suggerisce di **utilizzare GitHub al posto di Gitlab**, poiché più comodo e funzionale. * Il team concorda nel dire che **il progetto è eccessivamente corposo**:
* Il *team* concorda nel dire che sarebbe molto utile la **partecipazione diretta del prof** durante le prime fasi di progetto, all'inizio del lavoro, per instradare il gruppo nella giusta direzione ed evitare l'effetto "salto nel buio":
* Sarebbe stato piacevole avere una buona spiegazione delle regole dello Scrumble * Tecnicamente a 6 CFU dovrebbero corrispondere circa 125 ore di lavoro, mentre questo progetto ne ha richieste molte di più.
* Avere qualche lezione più specifica sui tool da utilizzare (sonarqube ecc..)
* Suggeriamo quindi di **alleggerire significativamente il carico di lavoro**, e renderlo più proporzionato ai
crediti previsti.
* Il team suggerisce di lasciare agli studenti **scelta completamente libera sugli strumenti da adottare**, in quanto si
sono verificati svariati problemi con quelli previsti dal corso:
* Le istanze di Taiga, GitLab e SonarQube ospitate dall'Università si sono dimostrate inaffidabili,
portando il team a dover ospitare le proprie e quindi a perderci una fetta significativa del proprio tempo.
* CAS è supportato solo su Debian, e lo script di installazione esegue operazioni con effetti collaterali sul
Docker del sistema host.
* L'installazione di Taiga tramite Docker Compose ha richiesto 5 ore, in quanto una race condition presente nel
file ``docker-compose.yml`` impediva al software di raggiungere il database.
* L'installazione e manutenzione di GitLab ha richiesto 5 ore, e richiede competenze di amministrazione di sistema
avanzate che sono oltre il livello dello studente medio del terzo anno di Informatica.
* Taiga, per quanto funzionale, è un po' acerbo a livello di User Experience, il che ha portato a svariati grattacapi
durante il suo utilizzo da parte del team.
* Inoltre, è in parte superfluo: quasi tutte le funzionalità che fornisce sono già implementate sui sistemi di issues
di GitHub e GitLab.
* Utilizzare GitLab invece che il più popolare GitHub impedisce di sfruttare la licenza gratuita o `universitaria`_ di
numerosi strumenti di Continuous Integration e Deployment, quali `GitHub Actions`_, `Read the Docs`_ e `Render`_.
* SonarQube, per quanto semplice da installare, è molto complesso da utilizzare: il team ha necessitato di parecchie
ore per capirne il funzionamento.
* È forse anche superfluo: tutte le issues che ha segnalato erano già state segnalate in precedenza dal sistema di
linting di IntelliJ IDEA Ultimate.
* Il team concorda nel dire che sarebbe molto utile la **partecipazione diretta del prof** durante le prime fasi di
progetto, all'inizio del lavoro, per instradare il gruppo nella giusta direzione ed evitare l'effetto "salto nel buio":
* Sarebbe stato piacevole avere una spiegazione più dettagliata delle regole dello Scrumble, e soprattutto sul come
giocarlo a distanza.
* Sarebbero state utili lezioni più specifica sui tool da utilizzare, come SonarQube.
.. _universitaria: https://education.github.com/pack
.. _GitHub Actions: https://github.com/features/actions
.. _Read the Docs: https://readthedocs.org/
.. _Render: https://render.com/

View file

@ -4,7 +4,7 @@ N.E.S.T.
Benvenuto alla documentazione di N.E.S.T.! Benvenuto alla documentazione di N.E.S.T.!
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 4
:caption: Manuale utente :caption: Manuale utente
guide/about guide/about
@ -13,23 +13,19 @@ Benvenuto alla documentazione di N.E.S.T.!
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 4
:caption: Relazione sul progetto :caption: Relazione sul progetto
development/goals development/goals
development/process
development/tools development/tools
development/sprint0/index development/process
development/sprint1/index
development/sprint2/index
development/sprint3/index
development/artifacts development/artifacts
development/conclusions development/conclusions
development/suggestions development/suggestions
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 4
:caption: Documentazione tecnica :caption: Documentazione tecnica
code/meta/index code/meta/index