diff --git a/docs/build/doctrees/code/backend/index.doctree b/docs/build/doctrees/code/backend/index.doctree index ae7a7de..435ebd1 100644 Binary files a/docs/build/doctrees/code/backend/index.doctree and b/docs/build/doctrees/code/backend/index.doctree differ diff --git a/docs/build/doctrees/code/crawler/index.doctree b/docs/build/doctrees/code/crawler/index.doctree index d8e9e37..be90837 100644 Binary files a/docs/build/doctrees/code/crawler/index.doctree and b/docs/build/doctrees/code/crawler/index.doctree differ diff --git a/docs/build/doctrees/code/database/index.doctree b/docs/build/doctrees/code/database/index.doctree index 94b836e..37837af 100644 Binary files a/docs/build/doctrees/code/database/index.doctree and b/docs/build/doctrees/code/database/index.doctree differ diff --git a/docs/build/doctrees/code/frontend/index.doctree b/docs/build/doctrees/code/frontend/index.doctree index 3267ac6..7d49c0c 100644 Binary files a/docs/build/doctrees/code/frontend/index.doctree and b/docs/build/doctrees/code/frontend/index.doctree differ diff --git a/docs/build/doctrees/code/meta/index.doctree b/docs/build/doctrees/code/meta/index.doctree index 7dd9f6b..83d0f0a 100644 Binary files a/docs/build/doctrees/code/meta/index.doctree and b/docs/build/doctrees/code/meta/index.doctree differ diff --git a/docs/build/doctrees/development/artifacts.doctree b/docs/build/doctrees/development/artifacts.doctree index 4fbfa37..8c1fd27 100644 Binary files a/docs/build/doctrees/development/artifacts.doctree and b/docs/build/doctrees/development/artifacts.doctree differ diff --git a/docs/build/doctrees/development/conclusions.doctree b/docs/build/doctrees/development/conclusions.doctree index a065b4c..3607206 100644 Binary files a/docs/build/doctrees/development/conclusions.doctree and b/docs/build/doctrees/development/conclusions.doctree differ diff --git a/docs/build/doctrees/development/goals.doctree b/docs/build/doctrees/development/goals.doctree index a0dda0a..c320bb0 100644 Binary files a/docs/build/doctrees/development/goals.doctree and b/docs/build/doctrees/development/goals.doctree differ diff --git a/docs/build/doctrees/development/process.doctree b/docs/build/doctrees/development/process.doctree index b3ac9f2..6303c32 100644 Binary files a/docs/build/doctrees/development/process.doctree and b/docs/build/doctrees/development/process.doctree differ diff --git a/docs/build/doctrees/development/sprint0/index.doctree b/docs/build/doctrees/development/sprint0/index.doctree index cad0a40..d573395 100644 Binary files a/docs/build/doctrees/development/sprint0/index.doctree and b/docs/build/doctrees/development/sprint0/index.doctree differ diff --git a/docs/build/doctrees/development/sprint1/index.doctree b/docs/build/doctrees/development/sprint1/index.doctree index 0158545..2b9ccb4 100644 Binary files a/docs/build/doctrees/development/sprint1/index.doctree and b/docs/build/doctrees/development/sprint1/index.doctree differ diff --git a/docs/build/doctrees/development/sprint2/index.doctree b/docs/build/doctrees/development/sprint2/index.doctree index 45de3c5..d34996e 100644 Binary files a/docs/build/doctrees/development/sprint2/index.doctree and b/docs/build/doctrees/development/sprint2/index.doctree differ diff --git a/docs/build/doctrees/development/sprint3/index.doctree b/docs/build/doctrees/development/sprint3/index.doctree index c7a3514..c2339ed 100644 Binary files a/docs/build/doctrees/development/sprint3/index.doctree and b/docs/build/doctrees/development/sprint3/index.doctree differ diff --git a/docs/build/doctrees/development/suggestions.doctree b/docs/build/doctrees/development/suggestions.doctree index 9fd77af..39a7267 100644 Binary files a/docs/build/doctrees/development/suggestions.doctree and b/docs/build/doctrees/development/suggestions.doctree differ diff --git a/docs/build/doctrees/development/tools.doctree b/docs/build/doctrees/development/tools.doctree index 0edd2cb..f7e78da 100644 Binary files a/docs/build/doctrees/development/tools.doctree and b/docs/build/doctrees/development/tools.doctree differ diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 5d892e2..7822638 100644 Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ diff --git a/docs/build/doctrees/guide/about.doctree b/docs/build/doctrees/guide/about.doctree index d44cb34..91d76c7 100644 Binary files a/docs/build/doctrees/guide/about.doctree and b/docs/build/doctrees/guide/about.doctree differ diff --git a/docs/build/doctrees/guide/installation.doctree b/docs/build/doctrees/guide/installation.doctree index 5bd27a5..19e55e0 100644 Binary files a/docs/build/doctrees/guide/installation.doctree and b/docs/build/doctrees/guide/installation.doctree differ diff --git a/docs/build/doctrees/guide/updating.doctree b/docs/build/doctrees/guide/updating.doctree index 597b6ed..cea0906 100644 Binary files a/docs/build/doctrees/guide/updating.doctree and b/docs/build/doctrees/guide/updating.doctree differ diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index 58fc305..9ab26e1 100644 Binary files a/docs/build/doctrees/index.doctree and b/docs/build/doctrees/index.doctree differ diff --git a/docs/source/development/sprint3/sonarqube.pdf b/docs/build/html/_downloads/1268efebad705c0294253e96919c5164/3-sonarqube.pdf similarity index 100% rename from docs/source/development/sprint3/sonarqube.pdf rename to docs/build/html/_downloads/1268efebad705c0294253e96919c5164/3-sonarqube.pdf diff --git a/docs/source/development/sprint2/RetrospectiveSprint2.pdf b/docs/build/html/_downloads/5b172c365f95a8016d50f3bd1fb8cf83/2-retrospective.pdf similarity index 100% rename from docs/source/development/sprint2/RetrospectiveSprint2.pdf rename to docs/build/html/_downloads/5b172c365f95a8016d50f3bd1fb8cf83/2-retrospective.pdf diff --git a/docs/build/html/_downloads/2ef8733545ae04f32e2402496e5203a3/sprint-0_retrospective.pdf b/docs/build/html/_downloads/a4a588dcc384b4a8e8cb42f8f8db936f/0-retrospective.pdf similarity index 100% rename from docs/build/html/_downloads/2ef8733545ae04f32e2402496e5203a3/sprint-0_retrospective.pdf rename to docs/build/html/_downloads/a4a588dcc384b4a8e8cb42f8f8db936f/0-retrospective.pdf diff --git a/docs/build/html/_images/BacklogSprint1.png b/docs/build/html/_images/1-backlog.png similarity index 100% rename from docs/build/html/_images/BacklogSprint1.png rename to docs/build/html/_images/1-backlog.png diff --git a/docs/build/html/_images/Burndown1.png b/docs/build/html/_images/1-burndown.png similarity index 100% rename from docs/build/html/_images/Burndown1.png rename to docs/build/html/_images/1-burndown.png diff --git a/docs/build/html/_images/Sprint1Task.png b/docs/build/html/_images/1-tasks.png similarity index 100% rename from docs/build/html/_images/Sprint1Task.png rename to docs/build/html/_images/1-tasks.png diff --git a/docs/source/development/sprint2/BacklogSprint2.PNG b/docs/build/html/_images/2-backlog.png similarity index 100% rename from docs/source/development/sprint2/BacklogSprint2.PNG rename to docs/build/html/_images/2-backlog.png diff --git a/docs/build/html/_images/Burndown2.png b/docs/build/html/_images/2-burndown.png similarity index 100% rename from docs/build/html/_images/Burndown2.png rename to docs/build/html/_images/2-burndown.png diff --git a/docs/source/development/sprint2/Sprint2Task.png b/docs/build/html/_images/2-tasks.png similarity index 100% rename from docs/source/development/sprint2/Sprint2Task.png rename to docs/build/html/_images/2-tasks.png diff --git a/docs/source/development/sprint3/Backlog3.png b/docs/build/html/_images/3-backlog.png similarity index 100% rename from docs/source/development/sprint3/Backlog3.png rename to docs/build/html/_images/3-backlog.png diff --git a/docs/source/development/sprint3/Task3.png b/docs/build/html/_images/3-tasks.png similarity index 100% rename from docs/source/development/sprint3/Task3.png rename to docs/build/html/_images/3-tasks.png diff --git a/docs/build/html/_images/Chart1.png b/docs/build/html/_images/Chart1.png deleted file mode 100644 index 17c6009..0000000 Binary files a/docs/build/html/_images/Chart1.png and /dev/null differ diff --git a/docs/build/html/_sources/development/conclusions.rst.txt b/docs/build/html/_sources/development/conclusions.rst.txt index 300e8f0..02a797e 100644 --- a/docs/build/html/_sources/development/conclusions.rst.txt +++ b/docs/build/html/_sources/development/conclusions.rst.txt @@ -1,10 +1,29 @@ 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. - * 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. diff --git a/docs/build/html/_sources/development/process.rst.txt b/docs/build/html/_sources/development/process.rst.txt index 113603d..89baaba 100644 --- a/docs/build/html/_sources/development/process.rst.txt +++ b/docs/build/html/_sources/development/process.rst.txt @@ -1,71 +1,35 @@ - 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 -^^^^^^^^^^^^^^^^^^^^^^^ -.. image:: Burndown1.png - :width: 600 + sprint0/index + sprint1/index + sprint2/index + 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 - :width: 600 - - diff --git a/docs/build/html/_sources/development/sprint0/index.rst.txt b/docs/build/html/_sources/development/sprint0/index.rst.txt index ad9ff8f..525db40 100644 --- a/docs/build/html/_sources/development/sprint0/index.rst.txt +++ b/docs/build/html/_sources/development/sprint0/index.rst.txt @@ -6,8 +6,8 @@ Consegna La seguente documentazione è stata fornita dal cliente durante questo sprint: -- :download:`Descrizione iniziale del prodotto <0-initial.pdf>` -- :download:`Sprint 0 <0-sprint-requirements.pdf>` +- :download:`0-initial.pdf` +- :download:`0-sprint-requirements.pdf` 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: -* La User Story è stata compresa ed accettata da tutti i membri -* I tester hanno confermato la possibilità di poterla testare -* Il Product Owner ha la visione necessaria per definirne la priorità -* Il Team è in grado di stimarla -* La User Story è indipendente o dipendente da altre a priorità maggiore +- La User Story è stata compresa ed accettata da tutti i membri +- I tester hanno confermato la possibilità di poterla testare +- Il Product Owner ha la visione necessaria per definirne la priorità +- Il Team è in grado di stimarla +- La User Story è indipendente o dipendente da altre a priorità maggiore 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ì definita: -* Sviluppo completo della funzionalità richiesta -* Definizione e superamento dei test -* Bozza della documentazione della funzionalità -* Merge dei sorgenti nel branch ``main`` del repository Git +- Sviluppo completo della funzionalità richiesta +- Definizione e superamento dei test +- Bozza della documentazione della funzionalità +- 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à @@ -81,6 +120,16 @@ Riunioni collettive 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 """"""""""""""" @@ -453,41 +502,3 @@ Risultati della partita di Scrumble :4: 6-10 average tasks left :5: 0-5 average tasks left :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 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>` diff --git a/docs/build/html/_sources/development/sprint1/index.rst.txt b/docs/build/html/_sources/development/sprint1/index.rst.txt index 90002b4..fa33e54 100644 --- a/docs/build/html/_sources/development/sprint1/index.rst.txt +++ b/docs/build/html/_sources/development/sprint1/index.rst.txt @@ -4,35 +4,37 @@ Sprint 1: 19 Apr - 02 Mag 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 ---- -Il **goal** per questo sprint è stato costruire una codebase facilmente mantenibile e modulare, che potesse accomodare grossi -cambiamenti nei sottomoduli senza impattare gli altri: +Il **goal** per questo Sprint è stato costruire una codebase facilmente mantenibile e modulare, che potesse accomodare +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 punto di vista del **frontend**: creare la struttura con le componenti importate da figma e implementare le schermate principali +- Dal lato **backend**: l'obiettivo è stato predisporre la struttura del database e creare le API calls + 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 -------- +^^^^^^^ -.. image:: BacklogSprint1.png +.. image:: 1-backlog.png :width: 400 -**Burndown Chart** -.. image:: Chart1.png - :width: 600 +Task completati +^^^^^^^^^^^^^^^ + +.. image:: 1-tasks.png + :width: 400 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: -* La User Story è stata compresa ed accettata da tutti i membri -* I tester hanno confermato la possibilità di poterla testare -* Il Product Owner ha la visione necessaria per definirne la priorità -* Il Team è in grado di stimarla -* La User Story è indipendente o dipendente da altre a priorità maggiore +- La User Story è stata compresa ed accettata da tutti i membri +- I tester hanno confermato la possibilità di poterla testare +- Il Product Owner ha la visione necessaria per definirne la priorità +- Il Team è in grado di stimarla +- La User Story è indipendente o dipendente da altre a priorità maggiore + Definition of Done ------------------ La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita: -* Sviluppo completo della funzionalità richiesta -* Definizione e superamento dei test -* Bozza della documentazione della funzionalità -* Merge dei sorgenti nel branch ``main`` di GitLab +- Sviluppo completo della funzionalità richiesta +- Definizione e superamento dei test +- Bozza della documentazione della funzionalità +- 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é l’analisi del progetto sarebbe stata troppo dispendiosa a causa dell’elevato 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 nell’implementazione ha permesso al team di diminuire il debito tecnico, questo è avvenuto grazie + all’adozione 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à @@ -84,6 +170,16 @@ Riunioni collettive 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 """"""""""""""" @@ -156,10 +252,10 @@ Flavia Cocca - modifica mockup UI * - 2021-05-01 - 2h - - Riunione con il team per sprint review e sprint retrospective + - Riunione con il team per Sprint review e Sprint retrospective * - 2021-05-02 - 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 @@ -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à dell’utente loggato, ritorno delle info inerenti alla repository specificata * - 2021-05-01 - 2h - - Riunione con il team per sprint review e sprint retrospective + - Riunione con il team per Sprint review e Sprint retrospective * - 2021-05-01 - 1h - 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 """"""""""""""""" -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:: :header-rows: 2 @@ -488,36 +584,3 @@ Lorenzo Balugani * - 2021-05-02 - 1h - 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 ` -- :download:`Valutazione PO User Stories ` \ No newline at end of file diff --git a/docs/build/html/_sources/development/sprint2/index.rst.txt b/docs/build/html/_sources/development/sprint2/index.rst.txt index 5aac5f6..0c55450 100644 --- a/docs/build/html/_sources/development/sprint2/index.rst.txt +++ b/docs/build/html/_sources/development/sprint2/index.rst.txt @@ -6,31 +6,28 @@ Consegna La seguente documentazione è stata fornita dal cliente durante questo sprint: -- :download:`Sprint 2 <2-sprint-requirements.pdf>` +- :download:`2-sprint-requirements.pdf` 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 -------- +^^^^^^^ -.. image:: BacklogSprint2.png +.. image:: 2-backlog.png :width: 400 -**Burndown Chart** -.. image:: Chart2.png - :width: 600 +Task completati +^^^^^^^^^^^^^^^ + +.. image:: 2-tasks.png + :width: 400 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: -* La User Story è stata compresa ed accettata da tutti i membri -* I tester hanno confermato la possibilità di poterla testare -* Il Product Owner ha la visione necessaria per definirne la priorità -* Il Team è in grado di stimarla -* La User Story è indipendente o dipendente da altre a priorità maggiore +- La User Story è stata compresa ed accettata da tutti i membri +- I tester hanno confermato la possibilità di poterla testare +- Il Product Owner ha la visione necessaria per definirne la priorità +- Il Team è in grado di stimarla +- La User Story è indipendente o dipendente da altre a priorità maggiore + Definition of Done ------------------ La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita: -* Sviluppo completo della funzionalità richiesta -* Definizione e superamento dei test -* Bozza della documentazione della funzionalità -* Merge dei sorgenti nel branch ``main`` di GitLab +- Sviluppo completo della funzionalità richiesta +- Definizione e superamento dei test +- Bozza della documentazione della funzionalità +- 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à ----------------- @@ -83,6 +120,16 @@ Riunioni collettive 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 """"""""""""""" @@ -423,32 +470,3 @@ Lorenzo Balugani * - 2021-05-14 - 1h - 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 ` - - -Sprint review -------------- - -Il video di sprint review è disponibile al seguente link: - -- https://drive.google.com/file/d/1x1kub-bpVJrwmGrn5LLU8ecqcbxFaoKg/view?usp=sharing diff --git a/docs/build/html/_sources/development/sprint3/index.rst.txt b/docs/build/html/_sources/development/sprint3/index.rst.txt index 9a501be..5aab904 100644 --- a/docs/build/html/_sources/development/sprint3/index.rst.txt +++ b/docs/build/html/_sources/development/sprint3/index.rst.txt @@ -6,8 +6,8 @@ Consegna La seguente documentazione è stata fornita dal cliente durante questo sprint: -- :download:`Sprint 3 <3-sprint-requirements.pdf>` -- :download:`Report finale <3-report.pdf>` +- :download:`3-sprint-requirements.pdf` +- :download:`3-report.pdf` Goal @@ -15,35 +15,40 @@ Goal 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 + + +Task completati +^^^^^^^^^^^^^^^ + +.. image:: 3-tasks.png :width: 400 + 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 - postare su Twitter - 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. -| Le nuove User Stories sono state valutate tramite il metodo dello 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 sviluppo in partenza. +La richiesta relativa alle *ricerche basate sulla geolocalizzazione*, come già comunicato al cliente, non è stata +completata interamente per motivi tecnici legati a limitazioni sulle features delle **API 1.1 di Twitter** che non +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. - -Backlog -------- -.. image:: Backlog3.png - :width: 400 - -**Burndown Chart** - -.. image:: Chart3.png - :width: 600 +Tutte le nuove richieste sono state accettate dal Product Owner e sono pronte ad essere inserite nello sprint di +sviluppo in partenza. 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: -* La User Story è stata compresa ed accettata da tutti i membri -* I tester hanno confermato la possibilità di poterla testare -* Il Product Owner ha la visione necessaria per definirne la priorità -* Il Team è in grado di stimarla -* La User Story è indipendente o dipendente da altre a priorità maggiore +- La User Story è stata compresa ed accettata da tutti i membri +- I tester hanno confermato la possibilità di poterla testare +- Il Product Owner ha la visione necessaria per definirne la priorità +- Il Team è in grado di stimarla +- La User Story è indipendente o dipendente da altre a priorità maggiore Definition of Done ------------------ La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così definita: -* Sviluppo completo della funzionalità richiesta -* Definizione e superamento dei test -* Bozza della documentazione della funzionalità -* Merge dei sorgenti nel branch ``main`` di GitLab +- Sviluppo completo della funzionalità richiesta +- Definizione e superamento dei test +- Bozza della documentazione della funzionalità +- 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à @@ -97,10 +137,6 @@ Riunioni collettive - 1.5 h - sprint retrospective - * - - - - - - Attività individuali ^^^^^^^^^^^^^^^^^^^^ @@ -235,6 +271,8 @@ Chiara Calzolari Stefano Pigozzi """"""""""""""" +.. todo:: Inserire activity log di Stefano Pigozzi relativo allo Sprint 3. + .. list-table:: :header-rows: 2 @@ -297,13 +335,11 @@ Giovanni Anniballi - Aggiornamento documentazione, aggiunti ulteriori test seguendo i suggerimenti di SQ - - - - Giorgio Minoccari """"""""""""""""" +.. todo:: Inserire activity log di Giorgio Minoccari relativo allo Sprint 3. + .. list-table:: :header-rows: 2 @@ -356,33 +392,3 @@ Lorenzo Balugani * - 28/05 - 6h - 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 ` - -Demo ----- - -- https://drive.google.com/file/d/15o70Ffe51CNj8LTKHC9dGiqRVnbv9UpZ/view?usp=sharing diff --git a/docs/build/html/_sources/development/suggestions.rst.txt b/docs/build/html/_sources/development/suggestions.rst.txt index 547206d..5cf1a10 100644 --- a/docs/build/html/_sources/development/suggestions.rst.txt +++ b/docs/build/html/_sources/development/suggestions.rst.txt @@ -1,15 +1,56 @@ 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ù. - * Suggeriamo quindi di alleggerire il carico di lavoro, e renderlo più proporzionale ai crediti assegnati. +* Il team concorda sull'**utilità del progetto** 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. -* Il *team* suggerisce di **utilizzare GitHub al posto di Gitlab**, poiché più comodo e funzionale. -* 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": +* Il team concorda nel dire che **il progetto è eccessivamente corposo**: - * Sarebbe stato piacevole avere una buona spiegazione delle regole dello Scrumble - * Avere qualche lezione più specifica sui tool da utilizzare (sonarqube ecc..) + * Tecnicamente a 6 CFU dovrebbero corrispondere circa 125 ore di lavoro, mentre questo progetto ne ha richieste molte di più. + + * 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/ diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt index 01cc340..31347ab 100644 --- a/docs/build/html/_sources/index.rst.txt +++ b/docs/build/html/_sources/index.rst.txt @@ -4,7 +4,7 @@ N.E.S.T. Benvenuto alla documentazione di N.E.S.T.! .. toctree:: - :maxdepth: 2 + :maxdepth: 4 :caption: Manuale utente guide/about @@ -13,23 +13,19 @@ Benvenuto alla documentazione di N.E.S.T.! .. toctree:: - :maxdepth: 2 + :maxdepth: 4 :caption: Relazione sul progetto development/goals - development/process development/tools - development/sprint0/index - development/sprint1/index - development/sprint2/index - development/sprint3/index + development/process development/artifacts development/conclusions development/suggestions .. toctree:: - :maxdepth: 2 + :maxdepth: 4 :caption: Documentazione tecnica code/meta/index diff --git a/docs/build/html/code/backend/index.html b/docs/build/html/code/backend/index.html index 3b2b739..7175603 100644 --- a/docs/build/html/code/backend/index.html +++ b/docs/build/html/code/backend/index.html @@ -95,12 +95,8 @@

Relazione sul progetto

  • Introduzione
  • -
  • Processo di sviluppo
  • Strumenti utilizzati
  • -
  • Sprint 0: 04 Apr - 18 Apr
  • -
  • Sprint 1: 19 Apr - 02 Mag
  • -
  • Sprint 2: 03 Mag - 16 Mag
  • -
  • Sprint 3: 17 Mag - 30 Mag
  • +
  • Processo di sviluppo
  • Artefatti
  • Conclusioni
  • Suggerimenti relativi al corso
  • @@ -197,8 +193,8 @@
    nest_backend.gestione.authenticate(username, password)

    Authentication method. It checks if the combination of username+password is a valid match. If not, it returns None. -:param username: the user’s email -:param password: the user’s password +:param username: the user's email +:param password: the user's password :return: if the credentials are correct, it returns the user. Else, it returns None.

    @@ -216,7 +212,7 @@ It is required by Flask-JWT, and shouldnt be used alone. nest_backend.gestione.gen_password(password)

    It generates an hashed password. :param password: the password that needs to be hashed. -:return: the password’s hash.

    +:return: the password's hash.

    @@ -339,7 +335,7 @@ It is required by Flask-JWT, and shouldnt be used alone.

    Sets attributes on the constructed instance using the names and values in kwargs.

    Only keys that are present as -attributes of the instance’s class are allowed. These could be, +attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

    @@ -383,7 +379,7 @@ for example, any mapped columns or relationships.

    Sets attributes on the constructed instance using the names and values in kwargs.

    Only keys that are present as -attributes of the instance’s class are allowed. These could be, +attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

    @@ -422,7 +418,7 @@ for example, any mapped columns or relationships.

    Sets attributes on the constructed instance using the names and values in kwargs.

    Only keys that are present as -attributes of the instance’s class are allowed. These could be, +attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

    @@ -481,7 +477,7 @@ for example, any mapped columns or relationships.

    Sets attributes on the constructed instance using the names and values in kwargs.

    Only keys that are present as -attributes of the instance’s class are allowed. These could be, +attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

    @@ -520,7 +516,7 @@ for example, any mapped columns or relationships.

    Sets attributes on the constructed instance using the names and values in kwargs.

    Only keys that are present as -attributes of the instance’s class are allowed. These could be, +attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

    @@ -564,7 +560,7 @@ for example, any mapped columns or relationships.

    Sets attributes on the constructed instance using the names and values in kwargs.

    Only keys that are present as -attributes of the instance’s class are allowed. These could be, +attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

    @@ -653,7 +649,7 @@ for example, any mapped columns or relationships.

    Sets attributes on the constructed instance using the names and values in kwargs.

    Only keys that are present as -attributes of the instance’s class are allowed. These could be, +attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

    @@ -727,7 +723,7 @@ for example, any mapped columns or relationships.

    Sets attributes on the constructed instance using the names and values in kwargs.

    Only keys that are present as -attributes of the instance’s class are allowed. These could be, +attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

    @@ -781,7 +777,7 @@ for example, any mapped columns or relationships.

    Sets attributes on the constructed instance using the names and values in kwargs.

    Only keys that are present as -attributes of the instance’s class are allowed. These could be, +attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

    @@ -820,7 +816,7 @@ for example, any mapped columns or relationships.

    Sets attributes on the constructed instance using the names and values in kwargs.

    Only keys that are present as -attributes of the instance’s class are allowed. These could be, +attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

    @@ -908,7 +904,7 @@ GitLab .

    La documentazione dei percorsi API è gestita da Swagger UI, disponibile a /docs una volta che il webserver del backend è avviato.

    -

    Si allega una stampa dell’interfaccia swagger:

    +

    Si allega una stampa dell'interfaccia swagger:

    diff --git a/docs/build/html/code/crawler/index.html b/docs/build/html/code/crawler/index.html index 8975799..5c7c81c 100644 --- a/docs/build/html/code/crawler/index.html +++ b/docs/build/html/code/crawler/index.html @@ -95,12 +95,8 @@

    Relazione sul progetto

    • Introduzione
    • -
    • Processo di sviluppo
    • Strumenti utilizzati
    • -
    • Sprint 0: 04 Apr - 18 Apr
    • -
    • Sprint 1: 19 Apr - 02 Mag
    • -
    • Sprint 2: 03 Mag - 16 Mag
    • -
    • Sprint 3: 17 Mag - 30 Mag
    • +
    • Processo di sviluppo
    • Artefatti
    • Conclusioni
    • Suggerimenti relativi al corso
    • diff --git a/docs/build/html/code/database/index.html b/docs/build/html/code/database/index.html index c12d959..14dff83 100644 --- a/docs/build/html/code/database/index.html +++ b/docs/build/html/code/database/index.html @@ -95,12 +95,8 @@

      Relazione sul progetto

      • Introduzione
      • -
      • Processo di sviluppo
      • Strumenti utilizzati
      • -
      • Sprint 0: 04 Apr - 18 Apr
      • -
      • Sprint 1: 19 Apr - 02 Mag
      • -
      • Sprint 2: 03 Mag - 16 Mag
      • -
      • Sprint 3: 17 Mag - 30 Mag
      • +
      • Processo di sviluppo
      • Artefatti
      • Conclusioni
      • Suggerimenti relativi al corso
      • @@ -184,12 +180,12 @@
        class Alert
        -

        Un alert è un allarme impostato da un utente che si «attiva» quando un numero di tweet che rispetta certe condizioni -(poste in and oppure or) supera una certa soglia, indicata dall’utente.

        -

        Ogni volta che l’alert si attiva, viene creata una «notifica», ovvero una entry nella tabella Notifications. -Questo permette di tenere conto del numero di volte in cui l’alert viene triggerato.

        +

        Un alert è un allarme impostato da un utente che si "attiva" quando un numero di tweet che rispetta certe condizioni +(poste in and oppure or) supera una certa soglia, indicata dall'utente.

        +

        Ogni volta che l'alert si attiva, viene creata una "notifica", ovvero una entry nella tabella Notifications. +Questo permette di tenere conto del numero di volte in cui l'alert viene triggerato.

        Gli alert sono legati al repository di appartenenza, e quando uno di essi viene allertato viene inviata una mail -all’admin e pubblicato un tweet sull’account Twitter usato per le analisi.

        +all'admin e pubblicato un tweet sull'account Twitter usato per le analisi.

        La tabella alert contiene le seguenti colonne:

        @@ -203,13 +199,13 @@ all’admin e pubblicato un tweet sull’account Twitter usato per le analisi. - + - + - + @@ -227,7 +223,7 @@ all’admin e pubblicato un tweet sull’account Twitter usato per le analisi.
        class Authorization
        -

        Una autorizzazione è un’entità che rappresenta il permesso, concesso dal creatore del repository ad un altro utente, +

        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.

        La tabella authorization contiene le seguenti colonne:

        id (INTEGER, PK)

        l’identificativo dell’alert

        l'identificativo dell'alert

        name (VARCHAR, NOT NULL)

        il nome dell’alert

        il nome dell'alert

        limit (INTEGER, NOT NULL)

        il numero di tweet che innescano l’alert

        il numero di tweet che innescano l'alert

        window_size (INTEGER, NOT NULL)

        numero di ore in cui il limit può venire superato

        @@ -245,7 +241,7 @@ di ispezionare il contenuto di un repo e di eseguire analisi su di esso.

        - +

        id del repository

        email (VARCHAR, PK, FK)

        email dell’utente

        email dell'utente

        @@ -254,7 +250,7 @@ di ispezionare il contenuto di un repo e di eseguire analisi su di esso.

        class Composed
        -

        Composed è una tabella le cui righe indicano l’appartenenza di un Tweet ad un certo repository.

        +

        Composed è una tabella le cui righe indicano l'appartenenza di un Tweet ad un certo repository.

        La tabella Composed contiene le seguenti colonne:

        @@ -360,7 +356,7 @@ coordinate

        - + @@ -372,8 +368,8 @@ coordinate

        class Notification
        -

        Una notification è un’entità che consente di tenere traccia del momento in cui un certo alert si è attivato -per l’ultima volta.

        +

        Una notification è un'entità che consente di tenere traccia del momento in cui un certo alert si è attivato +per l'ultima volta.

        La tabella notification contiene le seguenti colonne:

        aid (INTEGER, PK, FK)

        id dell’alert

        id dell'alert

        cid (INTEGER, PK, FK)

        id della condition

        @@ -402,7 +398,7 @@ per l’ultima volta.

        class Repository
        -

        Un repository è un «contenitore» di tweet, a cui sono legati alert, autorizzazioni di lettura e condizioni.

        +

        Un repository è un "contenitore" di tweet, a cui sono legati alert, autorizzazioni di lettura e condizioni.

        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 accade se viene archiviato.

        @@ -440,7 +436,7 @@ accade se viene archiviato.

        - +

        email del proprietario

        is_deleted (BOOLEAN, NOT NULL)

        flag per segnalare se l’oggetto è eliminato o meno

        flag per segnalare se l'oggetto è eliminato o meno

        @@ -449,9 +445,9 @@ accade se viene archiviato.

        class Tweet
        -

        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 l’ha -creato, eventuali immagini, il tempo di creazione, il tempo di inserimento nel db e l’opzionale posizione legata +

        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 l'ha +creato, eventuali immagini, il tempo di creazione, il tempo di inserimento nel db e l'opzionale posizione legata al tweet.

        La tabella tweet contiene le seguenti colonne:

        @@ -478,16 +474,16 @@ al tweet.

        - + - + - +

        riservato per sviluppi futuri

        poster (VARCHAR)

        informazioni sull’utente che ha creato il tweet

        informazioni sull'utente che ha creato il tweet

        insert_time (TIMESTAMP, NOT NULL)

        timestamp dell’inserimento del tweet

        timestamp dell'inserimento del tweet

        image_url (VARCHAR)

        link alle immagini, se presenti

        post_time (TIMESTAMP)

        timestamp relativo all’invio del tweet

        timestamp relativo all'invio del tweet

        @@ -496,8 +492,8 @@ al tweet.

        class User
        -

        Uno user è l’utilizzatore della piattaforma.

        -

        E” presente di default un utente admin, il quale può creare nuovi utenti.

        +

        Uno user è l'utilizzatore della piattaforma.

        +

        E' presente di default un utente admin, il quale può creare nuovi utenti.

        La tabella user contiene le seguenti colonne:

        @@ -511,16 +507,16 @@ al tweet.

        - + - + - + - +

        email (VARCHAR, PK)

        email dell’utente

        email dell'utente

        username (VARCHAR, NOT NULL)

        username dell’utente

        username dell'utente

        password (BYTEARRAY, NOT NULL)

        sale della password, codificata usando l’algoritmo bcrypt

        sale della password, codificata usando l'algoritmo bcrypt

        isAdmin (BOOLEAN, NOT NULL)

        true se l’utente è admin

        true se l'utente è admin

        diff --git a/docs/build/html/code/frontend/index.html b/docs/build/html/code/frontend/index.html index e8bc356..199013a 100644 --- a/docs/build/html/code/frontend/index.html +++ b/docs/build/html/code/frontend/index.html @@ -94,12 +94,8 @@

        Relazione sul progetto

        • Introduzione
        • -
        • Processo di sviluppo
        • Strumenti utilizzati
        • -
        • Sprint 0: 04 Apr - 18 Apr
        • -
        • Sprint 1: 19 Apr - 02 Mag
        • -
        • Sprint 2: 03 Mag - 16 Mag
        • -
        • Sprint 3: 17 Mag - 30 Mag
        • +
        • Processo di sviluppo
        • Artefatti
        • Conclusioni
        • Suggerimenti relativi al corso
        • diff --git a/docs/build/html/code/meta/index.html b/docs/build/html/code/meta/index.html index 4378e7d..feadf04 100644 --- a/docs/build/html/code/meta/index.html +++ b/docs/build/html/code/meta/index.html @@ -95,12 +95,8 @@

          Relazione sul progetto

          • Introduzione
          • -
          • Processo di sviluppo
          • Strumenti utilizzati
          • -
          • Sprint 0: 04 Apr - 18 Apr
          • -
          • Sprint 1: 19 Apr - 02 Mag
          • -
          • Sprint 2: 03 Mag - 16 Mag
          • -
          • Sprint 3: 17 Mag - 30 Mag
          • +
          • Processo di sviluppo
          • Artefatti
          • Conclusioni
          • Suggerimenti relativi al corso
          • @@ -190,8 +186,8 @@ Sphinx.

            I dati relativi alla documentazione si trovano nella directory standard /docs; in particolare, le sorgenti reStructuredText si trovano in /docs/source, -mentre l’ultima versione compilata si trova in /docs/build.

            -

            Questa struttura permetterebbe l’integrazione con lo strumento di «Continuous Documentation» +mentre l'ultima versione compilata si trova in /docs/build.

            +

            Questa struttura permetterebbe l'integrazione con lo strumento di "Continuous Documentation" ReadTheDocs, qualora il progetto fosse ospitato su GitHub o disponessimo di una licenza almeno Basic.

            @@ -208,11 +204,11 @@ eseguita.

            user:g2-progetto$ poetry install
             
            -

            Poi, si entri all’interno del virtual environment:

            +

            Poi, si entri all'interno del virtual environment:

            user:g2-progetto$ poetry shell
             
            -

            Una volta all’interno del venv, si entri nella cartella della documentazione:

            +

            Una volta all'interno del venv, si entri nella cartella della documentazione:

            user:g2-progetto$ cd docs
             
            @@ -228,11 +224,11 @@ eseguita.

            g2-progetto> poetry install
             
            -

            Poi, si entri all’interno del virtual environment:

            +

            Poi, si entri all'interno del virtual environment:

            g2-progetto> poetry shell
             
            -

            Una volta all’interno del venv, si entri nella cartella della documentazione:

            +

            Una volta all'interno del venv, si entri nella cartella della documentazione:

            g2-progetto> cd docs
             
            diff --git a/docs/build/html/development/artifacts.html b/docs/build/html/development/artifacts.html index c2bcd6d..4a295d6 100644 --- a/docs/build/html/development/artifacts.html +++ b/docs/build/html/development/artifacts.html @@ -95,12 +95,8 @@

            Relazione sul progetto

            • Introduzione
            • -
            • Processo di sviluppo
            • Strumenti utilizzati
            • -
            • Sprint 0: 04 Apr - 18 Apr
            • -
            • Sprint 1: 19 Apr - 02 Mag
            • -
            • Sprint 2: 03 Mag - 16 Mag
            • -
            • Sprint 3: 17 Mag - 30 Mag
            • +
            • Processo di sviluppo
            • Artefatti diff --git a/docs/build/html/development/conclusions.html b/docs/build/html/development/conclusions.html index 1eeb130..ea2d327 100644 --- a/docs/build/html/development/conclusions.html +++ b/docs/build/html/development/conclusions.html @@ -95,12 +95,8 @@

              Relazione sul progetto

              • Introduzione
              • -
              • Processo di sviluppo
              • Strumenti utilizzati
              • -
              • Sprint 0: 04 Apr - 18 Apr
              • -
              • Sprint 1: 19 Apr - 02 Mag
              • -
              • Sprint 2: 03 Mag - 16 Mag
              • -
              • Sprint 3: 17 Mag - 30 Mag
              • +
              • Processo di sviluppo
              • Artefatti
              • Conclusioni
              • Suggerimenti relativi al corso
              • @@ -182,16 +178,36 @@

                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:

                    -
                  • 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.

                  • +
                  • Python

                  • +
                  • NodeJS

                  • +
                  • reStructuredText

                  • +
                  • IntelliJ IDEA

                  • +
                  • Taiga

                  • +
                  • Git

                  • +
                  • GitLab

                  • +
                  • SystemD

                  • +
                  • Twitter

                • -
                • 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.

                • +
                • 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.

                  • +
                  • 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.

                diff --git a/docs/build/html/development/goals.html b/docs/build/html/development/goals.html index b1ded63..03638a6 100644 --- a/docs/build/html/development/goals.html +++ b/docs/build/html/development/goals.html @@ -40,7 +40,7 @@ - + @@ -100,16 +100,12 @@
              • Caratteristiche degli utenti
              • Glossario
              • Macro-funzionalità
              • -
              • Casi d’uso
              • +
              • Casi d'uso
              • Backlog generale
            • -
            • Processo di sviluppo
            • Strumenti utilizzati
            • -
            • Sprint 0: 04 Apr - 18 Apr
            • -
            • Sprint 1: 19 Apr - 02 Mag
            • -
            • Sprint 2: 03 Mag - 16 Mag
            • -
            • Sprint 3: 17 Mag - 30 Mag
            • +
            • Processo di sviluppo
            • Artefatti
            • Conclusioni
            • Suggerimenti relativi al corso
            • @@ -192,7 +188,7 @@

              Introduzione

              Obiettivo

              -

              L’obiettivo del progetto è la creazione di un software per fornire l’aggregazione e l’analisi di Tweet, in modo da +

              L'obiettivo del progetto è la creazione di un software per fornire l'aggregazione e l'analisi di Tweet, in modo da rilevare eventi macroscopici, locali o più semplicemente filtrarli in base a delle keyword.

              Il prodotto sarà utilizzato dal cliente e da un piccolo gruppo di suoi dipendenti per effettuare ricerche statistiche.

              Il software andrà ad integrarsi direttamente con Twitter, da cui verranno raccolti dati e su cui verranno pubblicate @@ -201,11 +197,11 @@ allerte su di essi.

              Campo di applicazione

              Il software trova utilizzo principalmente in ambito statistico, essendo il suo scopo quello di raccogliere dati e -permettere di analizzarli tramite un’interfaccia grafica.

              +permettere di analizzarli tramite un'interfaccia grafica.

              Caratteristiche degli utenti

              -

              Il software potrà essere utilizzato da utenti con una discreta esperienza nell’analisi di dati ma senza particolari +

              Il software potrà essere utilizzato da utenti con una discreta esperienza nell'analisi di dati ma senza particolari conoscenze informatiche.

              @@ -218,14 +214,14 @@ contato in fase di allertamento utente.

        Filtro

        Predicato logico che deve essere soddisfatto da un tweet per essere visualizzato in fase di analisi dati.

        -
        Allarme

        Notifica inviata all’utente attraverso un mezzo telematico, come email oppure un tweet.

        +
        Allarme

        Notifica inviata all'utente attraverso un mezzo telematico, come email oppure un tweet.

        -
        Utente

        Utilizzatore del software con un proprio account creato dall’amministratore della piattaforma.

        +
        Utente

        Utilizzatore del software con un proprio account creato dall'amministratore della piattaforma.

        In particolare, la piattaforma prevederà due tipologie di utenti:

        Utente regolare

        Potranno eseguire attività di creazione, analisi, condivisione, archiviazione ed eliminazione dei propri repository.

        -
        Utente amministratore

        Potrà effettuare tutte le attività dell’utente regolare, e in aggiunta potrà creare ed eliminare nuovi utenti +

        Utente amministratore

        Potrà effettuare tutte le attività dell'utente regolare, e in aggiunta potrà creare ed eliminare nuovi utenti regolari.

        @@ -241,18 +237,18 @@ regolari.

      • in base alla loro posizione geografica (ove presente)

      • in base alla loro data di pubblicazione

      -

      Selezionate le condizioni, l’utente potrà creare una repository: una cartella in cui verranno raccolti i tweet +

      Selezionate le condizioni, l'utente potrà creare una repository: una cartella in cui verranno raccolti i tweet soddisfacenti le condizioni richieste.

      -

      Una volta raccolti, i tweet di una repository potranno essere analizzati in qualsiasi momento: durante l’analisi, +

      Una volta raccolti, i tweet di una repository potranno essere analizzati in qualsiasi momento: durante l'analisi, saranno mostrate statistiche e grafici relativi ai tweet.

      La raccolta potrà essere interrotta in qualsiasi momento archiviando il repository.

      Sarà possibile condividere una repository con altri utenti della piattaforma, permettendo loro di analizzarla.

      -

      Infine, l’utente potrà configurare una repository in modo che gli invii una allerta qualora vengano raccolti un dato +

      Infine, l'utente potrà configurare una repository in modo che gli invii una allerta qualora vengano raccolti un dato numero di tweet in una certa finestra temporale.

      -

      Casi d’uso

      -

      N.E.S.T. prevede tre tipologie di agenti («utenti» UML): utente, amministratore e sistema.

      +

      Casi d'uso

      +

      N.E.S.T. prevede tre tipologie di agenti ("utenti" UML): utente, amministratore e sistema.

      ../_images/Utenti.png

      I principali casi d’uso individuati durante la progettazione di N.E.S.T. sono:

        @@ -265,10 +261,10 @@ numero di tweet in una certa finestra temporale.

      • La gestione delle Allerte sia dal punto di vista dell’Utente che del Sistema:

        ../_images/CasiUso3.PNG
      • -
      • La gestione della raccolta da parte dell’utente:

        +
      • La gestione della raccolta da parte dell'utente:

        ../_images/CasiUso4.PNG
      • -
      • La gestione di un repository da parte dell’utente:

        +
      • La gestione di un repository da parte dell'utente:

        ../_images/CasiUso5.PNG
      • La visualizzazione di un repository:

        @@ -298,7 +294,7 @@ Gli elementi dal bordo grigio sono le epiche: