diff --git a/docs/build/doctrees/code/backend/index.doctree b/docs/build/doctrees/code/backend/index.doctree index 1362075..1242415 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 59ea81b..d8e9e37 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/development/goals.doctree b/docs/build/doctrees/development/goals.doctree index 67e5ebc..56a2737 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/log.doctree b/docs/build/doctrees/development/log.doctree deleted file mode 100644 index 28372bb..0000000 Binary files a/docs/build/doctrees/development/log.doctree and /dev/null differ diff --git a/docs/build/doctrees/development/sprint0/index.doctree b/docs/build/doctrees/development/sprint0/index.doctree index 8f6a6fc..f8f0c97 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/tools.doctree b/docs/build/doctrees/development/tools.doctree index 2e36ff6..0edd2cb 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 01c671d..6d8cbec 100644 Binary files a/docs/build/doctrees/environment.pickle and b/docs/build/doctrees/environment.pickle differ diff --git a/docs/build/doctrees/index.doctree b/docs/build/doctrees/index.doctree index c1f807f..d6e944c 100644 Binary files a/docs/build/doctrees/index.doctree and b/docs/build/doctrees/index.doctree differ diff --git a/docs/build/html/_sources/code/backend/index.rst.txt b/docs/build/html/_sources/code/backend/index.rst.txt index 59e05cf..b829159 100644 --- a/docs/build/html/_sources/code/backend/index.rst.txt +++ b/docs/build/html/_sources/code/backend/index.rst.txt @@ -32,6 +32,8 @@ ``.routes`` - Percorsi API -------------------------- -.. automodule:: nest_backend.database.routes - :imported-members: +.. note:: + + La documentazione dei percorsi API è gestita da Swagger UI, disponibile a ``/docs`` una volta che il webserver + del backend è avviato. diff --git a/docs/build/html/_sources/code/crawler/index.rst.txt b/docs/build/html/_sources/code/crawler/index.rst.txt index ca1451e..2d4266a 100644 --- a/docs/build/html/_sources/code/crawler/index.rst.txt +++ b/docs/build/html/_sources/code/crawler/index.rst.txt @@ -2,3 +2,4 @@ ==================================== .. automodule:: nest_crawler + :imported-members: diff --git a/docs/build/html/_sources/development/goals.rst.txt b/docs/build/html/_sources/development/goals.rst.txt index 6e3c772..6e86446 100644 --- a/docs/build/html/_sources/development/goals.rst.txt +++ b/docs/build/html/_sources/development/goals.rst.txt @@ -1,30 +1,152 @@ -Obiettivo del progetto -====================== +Introduzione +============ .. todo:: + Lasciamo il tempo al futuro? - Scrivere l'obiettivo generale del progetto. +Obiettivo +--------- + +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 +allerte su di essi. + +.. _Tweet: https://help.twitter.com/it/using-twitter#tweets +.. _Twitter: https://twitter.com/ -Scope ------ +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. + + +Caratteristiche degli utenti +---------------------------- + +Il software potrà essere utilizzato da utenti con una discreta esperienza nell'analisi di dati ma senza particolari +conoscenze informatiche. + +Glossario +--------- + +Repository + Raccolta di tweet che soddisfano determinate condizioni. + +Condizione + Predicato logico che deve essere soddisfatto da un tweet per essere raccolto in fase di raccolta dati, o per essere + 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. + +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 + regolari. + .. todo:: + Estendere il glossario qualora vengano incontrati altri termini. - Scrivere lo scope del progetto. + +Macro-funzionalità +------------------ + +Il software permetterà di selezionare **condizioni** con cui scegliere quali tweet raccogliere: + +- in base ai loro `hashtag`_ +- in base al loro autore +- 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 +soddisfacenti le condizioni richieste. + +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 +numero di tweet in una certa *finestra temporale*. + +.. _hashtag: https://help.twitter.com/it/using-twitter/how-to-use-hashtags +.. _posizione geografica: https://help.twitter.com/en/safety-and-security/tweet-location-settings Casi d'uso ---------- -.. todo:: +N.E.S.T. prevede tre tipologie di *agenti* ("utenti" UML): **utente**, **amministratore** e **sistema**. - Scrivere i casi d'uso del progetto. +.. image:: Utenti.png + +I principali casi d’uso individuati durante la progettazione di N.E.S.T. sono: + +- La gestione degli utenti da parte di un Amministratore: + + .. image:: CasiUso1.PNG + :width: 400 + +- La gestione del login da parte di un Utente: + + .. image:: CasiUso2.PNG + :width: 400 + +- La gestione delle Allerte sia dal punto di vista dell’Utente che del Sistema: + + .. image:: CasiUso3.PNG + :width: 800 + +- La gestione della raccolta da parte dell'utente: + + .. image:: CasiUso4.PNG + :width: 400 + +- La gestione di un repository da parte dell'utente: + + .. image:: CasiUso5.PNG + :width: 400 + +- La visualizzazione di un repository: + + .. image:: CasiUso6.PNG + :width: 400 Backlog generale ---------------- -.. todo:: +Si riporta qui di seguito il Backlog definito ad inizio progetto, prima dell’avvio dello sviluppo. +Gli elementi dal bordo grigio sono le epiche: - Elencare qui tutte le user story del backlog, senza specificare lo sprint in cui sono state realizzate. +.. note:: + Alcune user story sono state rimosse in seguito al feedback ricevuto durante il primo sprint! + +.. image:: Backlog1.PNG + +.. image:: Backlog2.PNG + +.. image:: Backlog3.PNG + +.. image:: Backlog4.PNG + +.. image:: Backlog5.PNG diff --git a/docs/build/html/_sources/development/log.rst.txt b/docs/build/html/_sources/development/log.rst.txt deleted file mode 100644 index 637797f..0000000 --- a/docs/build/html/_sources/development/log.rst.txt +++ /dev/null @@ -1,24 +0,0 @@ -Registro attività -================= - -Questo registro attività delinea le attività effettuate dai membri del team e ne indica la durata. - -.. note:: - - Per informazioni più dettagliate sulle attività di sviluppo, si suggerisce di guardare il log dei commit di Git: - - .. code-block:: console - - nest:g2-progetto$ git log - - - -Sprint 1: 19 Apr - 02 Mag -------------------------- - - -Sprint 2: 03 Mag - 16 Mag -------------------------- - - - diff --git a/docs/build/html/_sources/development/sprint0/index.rst.txt b/docs/build/html/_sources/development/sprint0/index.rst.txt index 26146ad..cabbe63 100644 --- a/docs/build/html/_sources/development/sprint0/index.rst.txt +++ b/docs/build/html/_sources/development/sprint0/index.rst.txt @@ -1,11 +1,6 @@ Sprint 0: 04 Apr - 18 Apr ========================= -.. todo:: - - Inserire informazioni generali sullo sprint, come inizio e fine. - - Consegna -------- @@ -15,28 +10,28 @@ La seguente documentazione è stata fornita dal cliente durante questo sprint: - :download:`Sprint 0 <0-sprint-requirements.pdf>` -Goal ----- +Definition of Ready +------------------- -.. todo:: +Il team ha definito lo stato di Ready di una User Story in base ai seguenti criteri: - Inserire qui lo sprint goal. +* 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 -Backlog -------- - -.. todo:: - - Mostrare qui lo sprint backlog di Taiga. - - -Definition of done +Definition of Done ------------------ -.. todo:: +La definizione di Done è stata concordata da tutto il team con il Product Owner, ed è stata così +definita: - Inserire qui la definition of done dello sprint. +* Sviluppo completo della funzionalità richiesta +* Definizione e superamento dei test +* Bozza della documentazione della funzionalità +* Merge dei sorgenti nel branch ``main`` del repository Git Registro attività @@ -171,7 +166,7 @@ Chiara Calzolari - Durata - Attività * - - - + - 12h 30m - Totale * - 2021-04-09 @@ -272,9 +267,192 @@ Lorenzo Balugani Risultati della partita di Scrumble ----------------------------------- -.. todo:: +#. :Goal: Learn + :Question: Do team members understand the Scrum roles? + :Metric: Knowledge of Scrum roles by questions + :Evaluation: :1: no idea of the Scrum roles + :5: perfect knowledge of the roles and their jobs + :Chiara: 4 + :Giorgio: 4 + :Giovanni: 4 + :Stefano P.: 4 + :Lorenzo: 5 + :Stefano G.: 5 + :Flavia: 4 - Trascrivere qui i risultati della partita di Scrumble. +#. :Goal: Learn + :Question: Do team members feel they learned the process? + :Metric: Opinions from the participants + :Evaluation: :1: couldn't repeat the game + :5: could play the game as a Scrum Master by himself + :Chiara: 3 + :Giorgio: 3 + :Giovanni: 4 + :Stefano P.: 5 + :Lorenzo: 3 + :Stefano G.: 3 + :Flavia: 3 + +#. :Goal: Learn + :Question: Does everyone keep up with the other players? + :Metric: Check during every sprint retrospective if every one is on point + :Evaluation: :1: totally lost + :5: leads the game driving the other players + :Chiara: 3 + :Giorgio: 4 + :Giovanni: 4 + :Stefano P.: 4 + :Lorenzo: 5 + :Stefano G.: 5 + :Flavia: 5 + +#. :Goal: Practice + :Question: Are the game mechanics linear and repeatable? + :Metric: Opinions from the participants + :Evaluation: :1: feels the game is unrepeatable + :5: feels the game could be played in any situation + :Chiara: 1 + :Giorgio: 2 + :Giovanni: 1 + :Stefano P.: 1 + :Lorenzo: 1 + :Stefano G.: 2 + :Flavia: 1 + +#. :Goal: Practice + :Question: Do team success in completing the game? + :Metric: Number of User Stories completed + :Evaluation: :1: 0 to 3 stories + :2: 4 to 6 + :3: 7 to 9 + :4: 10 to 12 + :5: 13 to 15 + :Chiara: 5 + :Giorgio: 5 + :Giovanni: 5 + :Stefano P.: 5 + :Lorenzo: 5 + :Stefano G.: 5 + :Flavia: 5 + +#. :Goal: Practice + :Question: Do team members efficiently estimate during sprint planning? + :Metric: Uniformity in evaluating the size and the priority of user stories + :Evaluation: :1: abnormal difference from the other players + :5: coherent and uniform with the group most of the time + :Chiara: 5 + :Giorgio: 4 + :Giovanni: 5 + :Stefano P.: 4 + :Lorenzo: 5 + +#. :Goal: Cooperation + :Question: Do team members know each other better? + :Metric: Level of players' serenity throughout the game + :Evaluation: :1: never speaks with the other players + :5: talks friendly to anyone in every situation + :Chiara: 4 + :Giorgio: 5 + :Giovanni: 5 + :Stefano P.: 5 + :Lorenzo: 5 + :Stefano G.: 5 + :Flavia: 4 + +#. :Goal: Cooperation + :Question: Does the game let all players cooperate? + :Metric: Contribution of every player during the game + :Evaluation: :1: never puts effort in doing something + :5: every time is willing to understand what is going on + :Chiara: 4 + :Giorgio: 3 + :Giovanni: 3 + :Stefano P.: 2 + :Lorenzo: 3 + :Stefano G.: 4 + :Flavia: 3 + +#. :Goal: Cooperation + :Question: Do team member consult each other about a topic? + :Metric: Sharing of ideas + :Evaluation: :1: never asks for an opinion + :5: wants to discuss about every topic + :Chiara: 5 + :Giorgio: 5 + :Giovanni: 5 + :Stefano P.: 3 + :Lorenzo: 5 + :Stefano G.: 4 + :Flavia: 5 + +#. :Goal: Motivation + :Question: Do team members encourage collegues in need? + :Metric: Players explain something other players don't understand + :Evaluation: :1: not involved by the game + :5: always makes sure everyone is on point + :Chiara: 3 + :Giorgio: 5 + :Giovanni: 5 + :Stefano P.: 4 + :Lorenzo: 5 + :Stefano G.: 4 + :Flavia: 4 + +#. :Goal: Motivation + :Question: Does PO help the team? + :Metric: Quality of PO's advices to get better in the next sprints + :Evaluation: :1: poor/absent advices + :5: wise and helpful suggestions when is required + :Stefano G.: 4 + +#. :Goal: Motivation + :Question: Does the team come up with good ideas? + :Metric: Effectiveness of sprint retrospective + :Evaluation: :1: doesn't express opinions during retrospective + :5: feels the retrospective fundamental to express opinions + :Chiara: 4 + :Giorgio: 5 + :Giovanni: 5 + :Stefano P.: 5 + :Lorenzo: 5 + :Stefano G.: 5 + :Flavia: 5 + +#. :Goal: Problem Solving + :Question: Do team members behave well when facing a problem? + :Metric: Level of the technical debt at the end of the game + :Evaluation: On the game board, if the debt pawn is on the lowest stage,the evaluation is 5, for every higher stage it decreases by 1 + :Chiara: 5 + :Giorgio: 5 + :Giovanni: 5 + :Stefano P.: 5 + :Lorenzo: 5 + :Stefano G.: 5 + :Flavia: 5 + +#. :Goal: Problem Solving + :Question: Does team organize their tasks properly? + :Metric: Average of tasks left at the end of each sprint + :Evaluation: :1: 21+ average tasks left + :2: 16-20 average tasks left + :3: 11-15 average tasks left + :4: 6-10 average tasks left + :5: 0-5 average tasks left + :Chiara: 5 + :Giorgio: 5 + :Giovanni: 5 + :Stefano P.: 5 + :Lorenzo: 5 + +#. :Goal: Problem Solving + :Question: Does PO plan efficiently the Sprint Backlog? + :Metric: Average of tasks left at the end of each sprint + :Evaluation: :1: 21+ average tasks left + :2: 16-20 average tasks left + :3: 11-15 average tasks left + :4: 6-10 average tasks left + :5: 0-5 average tasks left + :Stefano G.: 5 Statistiche @@ -286,7 +464,24 @@ Gitinspector Questa statistica è stata generata dal prof. Marcello Missiroli con `Gitinspector`_ al termine dello Sprint. -- :download:`Sprint 0 <0-stats.html>` +- :download:`0-stats.html` .. _Gitinspector: https://github.com/ejwa/gitinspector + + +Artefatti +--------- + +In questo sprint è stato realizzato il seguente documento: + +- :download:`Documento generale dello Sprint 0 <0-result.pdf>` + + +Sprint review +------------- + +Il video di sprint review è disponibile al seguente link: + +- https://drive.google.com/file/d/12worWEcx-uf2UP4_lnEOovHZpvR77MsG/view + diff --git a/docs/build/html/_sources/development/tools.rst.txt b/docs/build/html/_sources/development/tools.rst.txt index 0f93938..a20bd79 100644 --- a/docs/build/html/_sources/development/tools.rst.txt +++ b/docs/build/html/_sources/development/tools.rst.txt @@ -40,8 +40,20 @@ Nello sviluppo di N.E.S.T. sono stati usati i seguenti strumenti software: È accessibile al seguente indirizzo: https://sonarqube.steffo.eu/ +`Figma`_ + + Applicazione web centralizzata per la creazione collaborativa di interfacce grafiche moderne. + +`Discord`_ + + Piattaforma centralizzata di messaggistica istantanea e chiamate vocali utilizzata per la comunicazione sincrona + tra i membri del team. + + .. _IntelliJ IDEA Ultimate: https://www.jetbrains.com/idea/ .. _Git: https://git-scm.com/ .. _GitLab: https://about.gitlab.com/ .. _Taiga: https://www.taiga.io/ .. _SonarQube: https://www.sonarqube.org/ +.. _Figma: https://www.figma.com/ +.. _Discord: https://discord.com/ diff --git a/docs/build/html/_sources/index.rst.txt b/docs/build/html/_sources/index.rst.txt index a1692fc..af54e51 100644 --- a/docs/build/html/_sources/index.rst.txt +++ b/docs/build/html/_sources/index.rst.txt @@ -31,11 +31,18 @@ Benvenuto alla documentazione di N.E.S.T.! :caption: Documentazione tecnica code/meta/index + code/database/index code/backend/index code/crawler/index code/frontend/index +.. toctree:: + :hidden: + + development/clientinterview + + Cose rimaste da fare -------------------- diff --git a/docs/build/html/code/backend/index.html b/docs/build/html/code/backend/index.html index 5ea378d..8fb7925 100644 --- a/docs/build/html/code/backend/index.html +++ b/docs/build/html/code/backend/index.html @@ -13,6 +13,7 @@ + @@ -40,7 +41,7 @@ - + @@ -92,7 +93,7 @@

Relazione sul progetto