[Unit]
Description=N.E.S.T. Backend
Wants=network-online.target postgresql.service
@@ -329,7 +325,7 @@ WantedBy=multi-user.target
root:~# systemctl start nest-backend
-In caso di successo, l’API dovrebbe essere esposto sulla porta 30040
dell’indirizzo di loopback 127.0.0.1
:
+In caso di successo, l'API dovrebbe essere esposto sulla porta 30040
dell'indirizzo di loopback 127.0.0.1
:
root:~# curl 127.0.0.1:30040/doa
If you see this, the server is fine.
@@ -346,7 +342,7 @@ WantedBy=multi-user.target
nest:~/g2-progetto$ npm run build
-
Verrà creata una cartella build
con all’interno la versione compilata.
+
Verrà creata una cartella build
con all'interno la versione compilata.
Creare un servizio SystemD per il frontend
@@ -355,7 +351,7 @@ integrato con N.E.S.T. come un servizio di sistema di
SystemD:
root:~# systemctl edit --force --full nest-frontend
-
Inserire all’interno del file le seguenti direttive:
+
Inserire all'interno del file le seguenti direttive:
[Unit]
Description=N.E.S.T. Frontend
Wants=network-online.target nest-backend.service
@@ -401,7 +397,7 @@ WantedBy=multi-user.target
root:~# systemctl start nest-frontend
-In caso di successo, il frontend dovrebbe essere esposto sulla porta 30041
dell’indirizzo di loopback 127.0.0.1
:
+In caso di successo, il frontend dovrebbe essere esposto sulla porta 30041
dell'indirizzo di loopback 127.0.0.1
:
root:~# curl 127.0.0.1:30041
[...]
@@ -417,7 +413,7 @@ WantedBy=multi-user.target
root:~# systemctl edit --force --full nest-crawler
-
All’interno del file, inserire le seguenti direttive:
+
All'interno del file, inserire le seguenti direttive:
[Unit]
Description=N.E.S.T. Crawler
Wants=network-online.target nest-backend.service
@@ -444,13 +440,13 @@ WantedBy=multi-user.target
Nota
Per utilizzare gli API di Twitter, è necessario essere approvati dal supporto tecnico di Twitter.
È dunque necessario fare richiesta, e sarà possibile
-procedere con l’installazione solo una volta ricevute le credenziali per l’utilizzo.
+procedere con l'installazione solo una volta ricevute le credenziali per l'utilizzo.
Per impostare le variabili di ambiente richieste dal crawler, si suggerisce di creare un file di override di SystemD:
root:~# systemctl edit nest-crawler
-
All’interno del file, inserire le seguenti direttive:
+
All'interno del file, inserire le seguenti direttive:
[Service]
# Sostituire a questi caratteri la Consumer Key ricevuta da Twitter
@@ -500,7 +496,7 @@ Environment=SMTP_FROM_EMAIL=nest-bot@ryg.one
root:~# systemctl edit --force --full nest-crawler.timer
-Si inseriscano all’interno del file le seguenti direttive:
+Si inseriscano all'interno del file le seguenti direttive:
[Unit]
Description=Run nest-crawler every 60 minutes
@@ -528,7 +524,7 @@ WantedBy=timers.target
Configurare Apache come reverse proxy
-
Per rendere l’API e il frontend disponibili al pubblico, si suggerisce di configurare Apache HTTP Server
+
Per rendere l'API e il frontend disponibili al pubblico, si suggerisce di configurare Apache HTTP Server
come reverse proxy.
La configurazione di Apache varia molto da distribuzione a distribuzione Linux, e talvolta anche da server a server;
pertanto, si fornisce solamente un file VirtualHost di
diff --git a/docs/build/html/guide/updating.html b/docs/build/html/guide/updating.html
index af5f583..2be2e12 100644
--- a/docs/build/html/guide/updating.html
+++ b/docs/build/html/guide/updating.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/index.html b/docs/build/html/index.html
index 1293daf..93bb92e 100644
--- a/docs/build/html/index.html
+++ b/docs/build/html/index.html
@@ -94,12 +94,8 @@
Relazione sul progetto
-- Processo di sviluppo
-
- Strumenti utilizzati
-- Sprint 0: 04 Apr - 18 Apr
-- Consegna
-- Definition of Ready
-- Definition of Done
-- Registro attività
-- Risultati della partita di Scrumble
-- Statistiche
-- Sprint Retrospective
-- Sprint review
-- Artefatti
+- Processo di sviluppo
+- Ruoli
+- Sprint
+- Sprint 0: 04 Apr - 18 Apr
-- Sprint 1: 19 Apr - 02 Mag
-- Consegna
-- Goal
-- Backlog
-- Definition of Ready
-- Definition of Done
-- Registro attività
-- Statistiche
-- Sprint retrospective
-- Sprint review
-- Artefatti
+- Sprint 1: 19 Apr - 02 Mag
-- Sprint 2: 03 Mag - 16 Mag
- Artefatti
@@ -302,7 +295,11 @@
- Struttura del database
nest_backend
- Web API in Python
@@ -324,19 +321,24 @@
(L'riga originale si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/artifacts.rst, linea 12.)
Da fare
-
Compilare il registro attività dello sprint 3.
-
-(L'riga originale si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 74.)
-
-
Da fare
-
Il prof. Marcello Missiroli non ha ancora generato la statistica dello Sprint 3.
-
-(L'riga originale si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 367.)
-
-
Da fare
Inserire qui la Retrospettiva finale.
-(L'riga originale si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 375.)
+(L'riga originale si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 98.)
+
+
Da fare
+
Compilare il registro attività dello sprint 3.
+
+(L'riga originale si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 114.)
+
+
Da fare
+
Inserire activity log di Stefano Pigozzi relativo allo Sprint 3.
+
+(L'riga originale si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 274.)
+
+
Da fare
+
Inserire activity log di Giorgio Minoccari relativo allo Sprint 3.
+
+(L'riga originale si trova in /mnt/tera/ext4/code/g2-progetto-2/docs/source/development/sprint3/index.rst, linea 341.)
Altri collegamenti
diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv
index 6c565b0..f62769a 100644
Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ
diff --git a/docs/build/html/py-modindex.html b/docs/build/html/py-modindex.html
index b24be99..840b25b 100644
--- a/docs/build/html/py-modindex.html
+++ b/docs/build/html/py-modindex.html
@@ -96,12 +96,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/search.html b/docs/build/html/search.html
index b6fdca2..644efda 100644
--- a/docs/build/html/search.html
+++ b/docs/build/html/search.html
@@ -96,12 +96,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/searchindex.js b/docs/build/html/searchindex.js
index 8ba901a..64ee138 100644
--- a/docs/build/html/searchindex.js
+++ b/docs/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({docnames:["code/backend/index","code/crawler/index","code/database/index","code/frontend/index","code/meta/index","development/artifacts","development/conclusions","development/goals","development/process","development/sprint0/index","development/sprint1/index","development/sprint2/index","development/sprint3/index","development/suggestions","development/tools","guide/about","guide/installation","guide/updating","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,sphinx:56},filenames:["code/backend/index.rst","code/crawler/index.rst","code/database/index.rst","code/frontend/index.rst","code/meta/index.rst","development/artifacts.rst","development/conclusions.rst","development/goals.rst","development/process.rst","development/sprint0/index.rst","development/sprint1/index.rst","development/sprint2/index.rst","development/sprint3/index.rst","development/suggestions.rst","development/tools.rst","guide/about.rst","guide/installation.rst","guide/updating.rst","index.rst"],objects:{"":{Alert:[2,0,1,""],Authorization:[2,0,1,""],Composed:[2,0,1,""],Condition:[2,0,1,""],Contains:[2,0,1,""],MadeOf:[2,0,1,""],Notification:[2,0,1,""],Repository:[2,0,1,""],Tweet:[2,0,1,""],User:[2,0,1,""],nest_backend:[0,1,0,"-"],nest_crawler:[1,1,0,"-"]},"nest_backend.database":{base:[0,1,0,"-"],tables:[0,1,0,"-"]},"nest_backend.database.tables":{Alert:[0,0,1,""],Authorization:[0,0,1,""],Composed:[0,0,1,""],Condition:[0,0,1,""],ConditionMode:[0,0,1,""],ConditionType:[0,0,1,""],Contains:[0,0,1,""],MadeOf:[0,0,1,""],Notification:[0,0,1,""],OperationType:[0,0,1,""],Repository:[0,0,1,""],Tweet:[0,0,1,""],User:[0,0,1,""]},"nest_backend.database.tables.Alert":{__init__:[0,2,1,""],conditions:[0,3,1,""],evaluation_mode:[0,3,1,""],id:[0,3,1,""],limit:[0,3,1,""],name:[0,3,1,""],notifications:[0,3,1,""],repository:[0,3,1,""],repository_id:[0,3,1,""],to_json:[0,2,1,""],window_size:[0,3,1,""]},"nest_backend.database.tables.Authorization":{__init__:[0,2,1,""],email:[0,3,1,""],repository:[0,3,1,""],rid:[0,3,1,""],to_json:[0,2,1,""],user:[0,3,1,""]},"nest_backend.database.tables.Composed":{__init__:[0,2,1,""],repository:[0,3,1,""],rid:[0,3,1,""],snowflake:[0,3,1,""],tweet:[0,3,1,""]},"nest_backend.database.tables.Condition":{__init__:[0,2,1,""],alerts:[0,3,1,""],content:[0,3,1,""],id:[0,3,1,""],repository:[0,3,1,""],repository_id:[0,3,1,""],to_json:[0,2,1,""],tweets:[0,3,1,""],type:[0,3,1,""]},"nest_backend.database.tables.ConditionMode":{all_and:[0,3,1,""],all_or:[0,3,1,""]},"nest_backend.database.tables.ConditionType":{coordinates:[0,3,1,""],hashtag:[0,3,1,""],location:[0,3,1,""],place:[0,3,1,""],time:[0,3,1,""],user:[0,3,1,""]},"nest_backend.database.tables.Contains":{__init__:[0,2,1,""],cid:[0,3,1,""],condition:[0,3,1,""],snowflake:[0,3,1,""],tweet:[0,3,1,""]},"nest_backend.database.tables.MadeOf":{__init__:[0,2,1,""],aid:[0,3,1,""],alert:[0,3,1,""],cid:[0,3,1,""],condition:[0,3,1,""]},"nest_backend.database.tables.Notification":{__init__:[0,2,1,""],alert:[0,3,1,""],alert_id:[0,3,1,""],id:[0,3,1,""],ora:[0,3,1,""],to_json:[0,2,1,""]},"nest_backend.database.tables.OperationType":{assign:[0,3,1,""]},"nest_backend.database.tables.Repository":{__init__:[0,2,1,""],alerts:[0,3,1,""],authorizations:[0,3,1,""],conditions:[0,3,1,""],end:[0,3,1,""],evaluation_mode:[0,3,1,""],id:[0,3,1,""],is_active:[0,3,1,""],is_deleted:[0,3,1,""],name:[0,3,1,""],owner:[0,3,1,""],owner_id:[0,3,1,""],start:[0,3,1,""],to_json:[0,2,1,""],tweets:[0,3,1,""]},"nest_backend.database.tables.Tweet":{__init__:[0,2,1,""],conditions:[0,3,1,""],content:[0,3,1,""],image_url:[0,3,1,""],insert_time:[0,3,1,""],location:[0,3,1,""],place:[0,3,1,""],post_time:[0,3,1,""],poster:[0,3,1,""],repositories:[0,3,1,""],snowflake:[0,3,1,""],to_json:[0,2,1,""]},"nest_backend.database.tables.User":{__init__:[0,2,1,""],authorizations:[0,3,1,""],email:[0,3,1,""],isAdmin:[0,3,1,""],owner_of:[0,3,1,""],password:[0,3,1,""],to_json:[0,2,1,""],username:[0,3,1,""]},"nest_backend.gestione":{admin_or_403:[0,4,1,""],authenticate:[0,4,1,""],error_handler:[0,4,1,""],find_user:[0,4,1,""],gen_password:[0,4,1,""],hashtag_validator:[0,4,1,""],identity:[0,4,1,""],json_error:[0,4,1,""],json_request_authorizer:[0,4,1,""],json_success:[0,4,1,""],repository_auth:[0,4,1,""]},nest_backend:{database:[0,1,0,"-"],gestione:[0,1,0,"-"]},nest_crawler:{associate_condition_tweet:[1,4,1,""],authenticate:[1,4,1,""],is_coordinate_inside_bounding_box:[1,4,1,""],is_repo_alert_triggered:[1,4,1,""],search_repo_conditions:[1,4,1,""],send_notification_email:[1,4,1,""],send_notification_tweet:[1,4,1,""]}},objnames:{"0":["py","class","Python classe"],"1":["py","module","Python modulo"],"2":["py","method","Python metodo"],"3":["py","attribute","Python attributo"],"4":["py","function","Python funzione"]},objtypes:{"0":"py:class","1":"py:module","2":"py:method","3":"py:attribute","4":"py:function"},terms:{"0000000000000000000000000":16,"000000000000000000000000000000000000000000000":16,"00000000000000000000000000000000000000000000000000":16,"00m":11,"10h":[9,10,11],"10m":[10,11],"11h":11,"11m":11,"125":13,"127":16,"12h":9,"12m":10,"12worwecx":9,"13h":10,"13m":[10,11],"14h":12,"14m":10,"15h":9,"15m":[10,11],"15o70ffe51cnj8ltkhc9dgiqrvnbv9upz":12,"16h":[10,11],"16m":10,"17h":[11,12],"17m":11,"18h":12,"18m":[10,11],"19h":11,"19m":10,"1dsis_cgcrnvgzakzjevizkt4nndkycaf":10,"1x1kub":11,"2021":[9,10,11,15],"20m":11,"21m":11,"22h":12,"23h":[9,10],"23m":10,"248":16,"25m":11,"26m":10,"27h":11,"28m":10,"29h":10,"29m":[10,11],"30040":16,"30041":16,"301":16,"30m":[9,10,11,12],"32m":10,"34m":[10,11],"35m":[9,10],"367":18,"36m":10,"375":18,"39m":[9,11],"40m":11,"42m":10,"443":16,"44m":11,"45m":11,"46m":10,"47m":11,"48m":10,"51m":11,"52m":9,"56m":10,"57m":11,"58m":10,"59m":10,"60min":16,"63072000":16,"7c2fm2vd":16,"andr\u00e0":7,"boolean":2,"ci\u00f2":[10,11,12],"class":[0,2],"default":2,"else":0,"enum":[0,2],"final":18,"for":[0,9],"function":0,"gi\u00e0":[10,12],"import":10,"null":2,"pu\u00f2":[2,13],"return":0,"static":14,"super":[2,9,10,11,12],"this":[0,16],"var":[6,10,13,16],"with":9,All:16,Dal:10,Gli:[2,7],Nel:16,Nello:[14,16],Noi:15,Non:[5,18],None:0,Per:[10,16,17],Una:[2,4,7,15,16],Uno:2,__init__:0,a_t:16,a_t_s:16,abil:16,abnormal:9,about:9,absent:9,accad:2,access:[14,16],accett:[9,10,11,12],accomod:10,according:0,account:[2,7],acme:16,acquis:6,actually:0,adatt:16,adds:0,adegu:[10,11],admin:2,admin_or_403:0,adott:13,advices:9,after:16,age:16,agent:7,aggiorn:[12,18],aggiunt:[7,10,11,12],aggreg:[7,10],aid:[0,2],alcun:[6,7,11,16],alert:[0,1,2,11,12],alert_id:[0,2],alerts:[0,9,12],algoritm:2,all_and:0,all_not:2,all_or:[0,2],allarm:[2,7],alleg:0,allegger:13,allert:[2,7,16],allowed:0,allows:0,almen:4,alon:0,altre:[9,10,11,12],altri:[7,10],altro:2,always:[9,16],ambient:[10,11,12,16],ambit:7,amministr:[7,16],analis:[2,7,9,10,12,14],analizz:7,ancor:[12,18],and:[0,2,9],andrann:11,any:[0,9],anyon:9,apac:18,apert:2,api:[10,11,12,15,16,18],app:16,appartenent:2,applic:[14,15,18],application:0,appost:16,approcc:11,approv:16,apr:18,april:18,arch:16,archiv:[2,7],are:[0,9],artefatt:18,artifacts:18,asks:9,assegn:13,assign:0,associate_condition_tweet:1,attiv:[2,6,7,16,18],attravers:[7,15],attributes:0,autent:[10,15],authentic:[0,1],authentication:0,authorization:[0,2],authorizations:0,automat:[14,16],autor:7,autorizz:[2,12,15],aver:[6,13,16],averag:9,avev:6,avvi:[0,7,16,17],backend:[0,10,15,17,18],background:16,backlog:[9,18],bas:[2,7,9,10,11,12],based:16,bash:16,basic:4,bat:4,bcrypt:2,becaus:0,behav:9,benven:18,better:9,bin:16,bisogn:[5,18],board:9,bord:7,bot:16,bozz:[9,10,11,12],bpvjrwmgrn5llu8ecqcbxfaokg:11,brainstorming:9,branc:[9,10,11,12],brev:18,bug:11,bugfixing:[10,11,12],bui:13,build:[4,16],buon:13,burndown:[10,11,12],bytearray:2,c_k:16,c_s:16,cach:16,calls:10,camb:10,camp:[12,18],cancell:[10,11],cap:10,caratter:16,caratterist:18,caric:13,cartell:[4,7,16],cas:[16,18],cases:[9,10],casual:16,cattur:11,centralizz:14,cer:16,cerc:2,cert:[2,7],cfu:13,chart:[10,11,12],check:9,checks:0,chiam:[10,14],chiav:10,chiusur:2,chown:16,ciascun:[6,8],cid:[0,2],circ:13,classes:0,classific:2,client:[7,9,10,11,12],clon:16,cod:[0,18],codebas:10,codic:[10,11,12,14,17,18],codific:2,coherent:9,collabor:[6,10,14],collegues:9,colonn:2,columns:0,com:[4,6,7,9,10,11,12,17,18],comand:16,combination:0,comod:13,comp:6,compar:16,compil:[12,18],compless:[10,16],complet:[9,10,11,12],completed:9,completing:9,component:[2,9,10],composed:[0,2],compost:15,comprens:15,compres:[9,10,11,12],comun:[14,15],comunic:12,concess:2,conclusion:[11,18],concord:[9,10,11,12,13],condition:[0,2],conditionmod:0,conditions:[0,11],conditions_typ:1,conditiontyp:0,condivid:7,condivision:7,condizion:[2,7,10,11,15],conferm:[9,10,11,12],config:16,configur:[7,9,10,11,12,18],configuration:4,conflitt:6,connession:16,conoscent:7,consegn:18,consent:2,consigl:16,constructed:0,constructor:0,consult:9,consumer:16,cont:[2,7],contains:[0,2],conten:[2,16],contenent:2,conteng:2,contenitor:2,content:[0,2],contien:2,continuous:4,contribution:9,controll:[10,14],cooper:9,cooperation:9,coordin:2,coordinates:[0,2],cop:16,cor:16,corpos:13,correct:0,corrett:[16,17],correzion:11,corrispond:13,cors:[10,15,18],cos:[2,4,5,6,9,10,11,12],costant:16,costru:10,could:[0,9],couldn:9,coverag:[11,14],crawler:[2,12,17,18],cre:[2,7,10,11,18],createdb:16,createuser:16,creating:16,creator:2,creazion:[2,7,9,10,11,12,14],cred:13,credentials:0,credenzial:16,criter:[9,10,11,12],css:9,curl:16,dark:9,dashboard:[9,11],dat:[0,2,4,7,9,10,11,12,15,16],databas:[9,10,11,15,18],dbms:16,deb:10,debt:9,decl_ap:0,declar:0,decreases:9,defin:[7,9,10,11,12],definit:9,definition:18,definizion:[2,9,10,11,12],dem:[11,16,18],denomin:16,depends:0,description:16,descrizion:9,desider:16,design:9,determin:[7,11],dettagl:[12,16],dev:7,development:18,diagramm:9,diar:8,differenc:9,dimestichezz:6,dipendent:[4,7,9,10,11,12,18],dir:[13,16],directory:[4,16,17],dirett:[7,13,16],direzion:13,discord:[9,14],discret:7,discuss:9,discussion:11,dispon:[0,4,9,10,11,16],disponessim:4,distanz:6,distribu:16,div:2,diven:2,divers:10,doa:16,docs:[0,4,12,16,18],document:[0,9,10,11,12,14],documentation:4,does:9,doesn:9,doing:9,don:18,dop:[2,16],doppiagg:9,dovr:16,dovrebb:16,dovrebber:13,driv:[9,10,11,12],driving:9,dsjiofgvinmodfiojvbnio3erfnoiweraqugu43ghjwrevniuwerng43iugnreuwignhritmj43i43nb8i42ug0wevkwovmwigtjj:16,due:7,dunqu:16,dur:[8,9,10,11,12],durant:[7,9,10,11,12,13],during:9,each:9,ecc:13,eccellent:6,eccess:13,edific:6,edit:16,effectiveness:9,effett:13,effettu:[6,7,10],efficent:10,efficiently:9,effort:9,elabor:15,element:[2,7],elenc:9,elimin:[2,7,10],email:[0,2,7,16],enabl:16,encourag:9,end:[0,2,9],engines:16,entit:[2,10],entrarv:16,entri:4,entro:2,entry:2,enumeration:0,env:16,environment:[4,16],epic:[7,9],error:[0,10,12,16],error_handler:0,errorunknownerror:0,esam:15,esecu:[14,16],esegu:[2,4,7,12,16,17],esemp:[10,16],esperient:7,espost:16,espress:12,esse:10,essend:7,esser:[2,7,12,16],essi:[2,7],esso:2,estern:16,estim:9,estraiam:15,evaluating:9,evaluation:9,evaluation_mod:[0,2],event:7,eventual:2,every:[9,16],everyon:9,evit:13,exampl:0,exec:16,execstart:16,explain:9,explorer:10,expr:16,express:9,ext4:18,facil:10,facing:9,fact:0,fallimentar:11,fancy:0,far:16,farl:16,fas:[7,13],features:12,feedback:7,feel:9,feels:9,figm:[9,10,14],fil:[9,11,12,18],files:12,filtr:7,fin:[6,10,16],finc:16,find_user:0,finestr:7,fix:[10,11,12],fixtures:11,flag:2,flask:15,flask_config:16,folders:10,forc:16,form:15,format:0,formatted:0,forn:[7,9,10,11,12,15,16],forwarded:16,foss:4,fosser:6,fram:9,framework:15,friendly:9,from:[0,9],frontend:[10,11,12,17,18],full:16,fullchain:16,fundamental:9,funzion:[10,12],funzional:[9,10,11,12,13,18],futur:[2,15],gam:9,gand:16,garant:6,gen_password:0,gener:[4,9,10,11,12,16,18],general:[9,10,12,18],generates:0,geograf:[7,12],geolocalizz:[10,11,12],gest:[0,15,16],gestion:[7,10,12,18],get:9,giorn:14,git:[9,14,16,17],github:[4,13],gitlab:[0,9,10,11,12,13,14,16],giust:13,glossar:18,gnu:18,goal:[9,18],going:9,good:9,googl:[9,10,11,12],grad:[9,10,11,12],grafic:[7,14],gratuit:11,graz:10,grig:7,grooming:[10,18],gross:10,group:[9,16],grupp:[6,7,13],guid:16,gunicorn:16,hann:[6,9,10,11,12],happy:0,hash:0,hashed:0,hashtag:[0,2,7,10],hashtag_validator:0,header:16,help:9,helpful:9,higher:9,himself:9,hom:16,hosted:14,hosting:14,html:[4,9,16],http:[15,16],http_host:16,https:[9,10,11,12,14,16],ide:[5,9,10,14,18],ideas:9,identif:2,identity:0,illogin:10,illustr:16,image_url:[0,2],immagin:2,immediat:15,impar:6,impatt:10,impieg:9,implement:10,imports:0,impost:[2,16],incontr:11,incorr:13,index:18,indic:[2,18],indipendent:[9,10,11,12],indirizz:[14,16],individu:7,inerent:10,infin:[4,7,17],info:10,inform:[2,16],informat:[7,15],ingles:12,initialization:0,iniz:[6,7,9,12,13],inizial:9,innesc:2,inoltr:2,inser:[2,5,11,12,16,18],insert_tim:[0,2],install:[4,18],instanc:0,instrad:13,integer:2,integr:[4,7,11,16],intellij:[10,14,18],inter:16,interfacc:[0,7,12,14,18],intern:[4,15,16],internet:16,interrott:7,interv:9,introdu:18,inutil:10,invi:[2,7,16],involved:9,is_act:[0,2],is_coordinate_inside_bounding_box:1,is_deleted:[0,2],is_repo_alert_triggered:1,isadmin:[0,2],isol:16,ispezion:2,issu:11,issues:11,istantane:14,ital:11,its:0,jest:12,jobs:9,journalctl:16,json:[0,10,16],json_error:0,json_request_authorizer:0,json_success:0,jsx:15,jwt:[0,16],keep:9,key:16,keys:0,keyword:7,know:9,knowledg:9,kwargs:0,lasc:11,latitud:1,lavor:[10,13],leads:9,learn:9,learned:9,left:9,leg:[2,10,12],legam:2,let:9,lettur:2,level:9,lezion:13,librer:16,licenz:4,light:9,limit:[0,2,10],lin:9,line:18,linguagg:6,link:[2,5,9,10,11,18],linux:[4,16],littl:0,local:[7,10,16],localizz:12,location:[0,2],log:[9,12,16],logg:10,logic:7,login:[0,7,10],longitud:1,lookup:16,loopback:16,lor:7,lost:9,lowest:9,macr:18,macroscop:7,madeof:[0,2],mag:18,magg:18,maggior:[9,10,11,12,16],mail:[2,16],main:[9,10,11,12],mak:18,makefil:4,makes:9,malfunzion:12,manag:10,management:[9,10,11,14],manipol:15,manten:[10,16],manual:[4,16],many:0,mapped:0,marcell:[9,10,11,12,18],master:9,matc:0,max:16,mechanics:9,member:9,members:9,membr:[6,9,10,11,12,14],men:2,mentr:[4,13],merg:[9,10,11,12],mess:2,messag:0,messaggist:14,met:18,method:0,metod:[10,12,18],metodolog:13,metric:9,mezz:7,miglior:[10,14],minutes:16,missirol:[9,10,11,12,18],mkdir:16,mnt:18,mockup:[9,10,11],mod:[7,9,10,14,16],model:0,modic:10,modif:[10,11,14],modul:[0,6,10,18],molt:[13,16],moment:[2,7,10],most:9,mostr:[7,15],mot:[12,16],motivation:9,msg:0,mult:16,multilinguagg:14,nam:[0,2],names:0,necess:16,necessar:[4,9,10,11,12,16],need:9,needs:0,nessun:16,nest:[16,17],nest_backend:[15,16,18],nest_crawler:[15,16,18],nest_frontend:[15,18],net:16,network:16,never:9,next:9,node_env:16,node_modules:16,node_version:16,nodejs:18,nom:[2,10,16],not:[0,2,9],notif:[2,7],notification:[0,2],notifications:[0,2,9],nozion:13,npm:16,nss:16,number:9,numer:[2,7],nuov:[2,6,7,11,12,18],nvm:16,oauth:10,obiett:[10,18],oggett:2,ogni:[2,12],onbootsec:16,one:[9,16],onlin:16,only:0,onunitactivesec:16,oper:16,operation:0,operationtyp:0,opinion:9,opinions:9,oppur:[2,7],opzional:2,ora:[0,2,9,10,11,16],orar:2,ore:[2,13],org:16,organiz:9,organizz:[6,10],original:18,orm:0,ospit:[4,14],other:9,ottimizz:16,output:10,ove:7,overrid:16,ovver:[2,11],owner:[0,9,10,11,12,16],owner_id:[0,2],owner_of:0,pacchett:16,pagin:9,pair:10,pandem:6,param:0,parametr:4,parents:16,parol:10,part:[7,10,11,14,15,18],partecip:[8,13],partenz:[2,12],participants:9,particol:[4,7],particolar:7,pass:11,password:[0,2,16],pawn:9,payload:0,penpot:9,perc:[11,16],percors:[16,18],perfect:9,period:16,permess:[2,6],permett:[2,4,7,11,12,13],pertant:16,perven:12,piacevol:13,piattaform:[2,7,14],piccol:[7,11,12],pien:16,plac:[0,2],place_id:11,plan:9,planning:9,platform:0,play:9,played:9,player:9,players:9,plugin:10,poetry:[4,16],poi:4,poic:13,point:9,poker:[9,12],poor:9,popol:16,port:16,porting:11,posizion:[2,7,12],poss:[2,16],possibil:[4,6,7,9,10,11,12,16],post:[2,12,13],post_tim:[0,2],poster:[0,2],postgres:16,postgresql:16,pot:[9,10,11,12],poter:10,potess:10,potr:7,potrann:7,powershell:18,practic:9,pratic:13,precedent:16,predic:7,predisporr:10,predisposizion:10,preferibil:16,prem:16,prepar:11,prerequis:18,present:[0,2,7,9,10,15],presenz:[2,6],preved:7,prim:[2,4,7,9,10,11,12,13,16],principal:[7,10],priorit:[9,10,11,12],priority:9,problem:9,problemat:13,proced:[6,16],process:[9,18],prod:16,prodott:[7,9],product:[9,10,11,12],production:16,prof:[9,10,11,12,13,18],progett:[4,7,9,10,12,13,14,16,17],programming:10,project:[9,10,11,14],pront:12,properly:9,proporzional:13,propr:[7,16],propriet:10,proprietar:2,prosegu:16,prot:16,protocols:16,prov:10,proxy:18,proxypass:16,proxypassrevers:16,pubblic:[2,7,11,16],pull:17,punt:[7,10],purtropp:6,put:11,puts:9,py3:16,pypoetry:16,pytest:11,python:[4,15,18],qual:[2,7,11,12,16],qualc:13,qualit:14,quality:9,qualor:[4,7],qualsias:7,quand:2,quant:16,quel:10,quell:[7,10],query:[11,12],quest:[2,4,9,10,11,12,13,16],question:9,questions:9,qui:[5,7,12,18],quind:13,raccogl:[7,9],raccolt:[2,7],radius:1,ragg:2,rappresent:[2,12,16],react:[15,18],readthedocs:4,ready:18,realizz:[9,10,11,15],recuper:15,recurs:16,refactor:10,refactoring:[10,11,12,14],refactory:12,registered:0,registr:18,regol:[7,13],regolar:7,relat:[2,4,7,9,12,18],relationships:0,relazion:10,rend:[13,16],rep:[2,10,11],repeat:9,repeatabl:9,report:12,repositories:[0,9],repository:[0,2,7,9,10,11,14,16],repository_auth:0,repository_id:[0,1,2],reqest:0,request_schem:16,requestheader:16,required:[0,9],res:6,resocont:9,rest:16,restart:17,restitu:10,restructuredtext:4,ret:16,retrieval:10,retrospect:[12,18],retrospett:[8,11,18],returned:0,returns:0,revers:18,review:18,rewriteengin:16,rewriterul:16,riavv:16,riavviin:17,ricerc:[7,10,11,12],ricev:[7,16],richied:2,richiest:[7,9,10,11,12,13,16],ricontroll:12,ricord:16,rid:[0,2],riemp:2,rig:[16,18],righ:2,riguard:10,rilev:7,rimanent:12,rimang:16,rimoss:7,rimozion:10,riport:7,riserv:2,risolt:11,risolu:11,rispett:[2,11],risult:18,ritien:6,ritm:6,ritocc:[9,10],ritorn:[10,11],riunion:6,riusc:11,roles:9,root:[16,17],routes:18,rp_app:16,rst:[12,18],run:[4,16],ruol:16,ryg:16,sacc:6,sal:2,salt:13,salv:[15,16],sar:[7,16],sarann:7,sarebb:13,sarebber:6,scanner:11,scaric:[17,18],scegl:7,scherm:[0,10,18],scop:7,screenshots:18,script:[4,16],scritt:[4,10,15],scrittur:[10,14],scriv:[5,18],scrum:[9,12],scrumbl:[13,18],search_repo_conditions:1,second:[11,15],secret:16,secret_key:16,security:16,see:16,segnal:[2,11],segret:16,segu:[7,12,17],seguent:[2,9,10,11,12,14,16,17],selezion:7,self:14,semplic:7,send_notification_email:1,send_notification_tweet:1,senz:[7,10],serenity:9,serializabl:0,serv:16,server:[0,15,16],servernam:16,servic:16,serviz:[17,18],session:[10,11,18],set:16,sets:0,settiman:8,setting:11,settings:9,setup:[11,16],shar:9,sharing:[9,10,11,12],shell:[4,16],shouldnt:0,sicurezz:16,simpl:0,sincron:14,sint:[12,16],sistem:[4,7,16],sit:10,situation:9,siz:9,smallint:2,smtp:16,smtp_from_email:16,smtp_host:16,smtp_password:16,smtp_usernam:16,snowflak:[0,2],soddisf:7,soddisfacent:7,soddisfatt:7,softw:[6,7,14,15],sogl:2,sol:16,solving:9,something:9,son:[2,6,7,12,14,16],sonarqub:[9,10,11,13,14,18],sorgent:[4,9,10,11,12,17,18],sort:6,sosten:6,sostitu:16,sottomodul:10,sourc:[4,18],speaks:9,spec:0,specif:[0,9,13],specific:10,sphinx:[4,12],spiegazion:13,sprint1:10,sprint2:11,sprint3:18,sprint:[7,18],sprints:9,sqlalchemy:[0,16],sqlalchemy_database_ur:16,srs:9,srv:16,sslcertificatefil:16,sslcertificatekeyfil:16,sslengin:16,stag:9,stamp:0,standard:4,standardizz:10,start:[0,2,16],stat:[2,6,7,8,9,10,11,12,13,14,16],statist:[7,15,18],stats:9,status:[16,17],steff:[14,16],stess:16,stesur:[9,10],stim:[9,10,11,12],stories:[9,10,12],story:[7,9,10,11,12],strict:16,string:[0,2,16],strument:[4,12,18],struttur:[4,6,10,18],stud:[10,12],success:[9,16],successful:0,such:0,suddivis:8,suddivision:18,sugger:[12,16,18],suggestions:9,support:[10,12,16],sur:9,svilupp:[2,7,9,10,11,12,14,18],svolg:6,svolt:10,swagger:[0,11],system:0,systemctl:[16,17],systemd:18,tabell:2,taig:[9,10,11,14],talks:9,talvolt:16,target:[4,16],task:[10,11,12],tasks:9,tast:16,tastier:16,team:[6,9,10,11,12,13,14],technical:9,tecnic:[10,12,13,16],telemat:7,temp:[2,9],temporal:7,ten:2,tentat:11,ter:18,termin:[9,10,11],terz:12,test:[9,10,11,12,16],tester:[9,10,11,12],testing:[10,11,14],tests:11,that:0,the:[0,9,16],thes:0,they:9,thing:0,thingamajigs:0,throughout:9,tim:[0,2,9],timer:[17,18],timers:16,timestamp:2,tip:[2,10],tipolog:7,to_json:0,token:16,tool:13,topic:9,total:[9,10,11,12],totally:9,tracc:[2,14],traduzion:[11,12],tram:[7,10,12,16],transport:16,trasfer:12,tre:[7,15],trigger:2,trov:[4,7,18],tru:2,tutt:[6,7,9,10,11,12,14,16,17],tweepy:15,tweet:[0,1,2,7,10,11,12,15,16],tweet_latitud:1,tweet_longitud:1,tweets:0,twitter:[2,7,9,10,12,15,16],type:[0,2,16],typo:12,uf2up4_lneoovhzpvr77msg:9,ulterior:[11,12],ultim:[2,4,9,10,14],uml:7,understand:9,uniform:9,uniformity:9,unimor:15,unit:16,univoc:2,unrepeatabl:9,usa:16,usand:[2,15],usat:[2,14],use:9,used:0,user:[0,2,4,7,9,10,11,12,16],useradd:16,usernam:[0,2],users:[10,11],using:0,uso:[16,18],usp:[10,11,12],usr:16,utent:[2,10,11,15],util:13,utility:18,utilizz:[2,7,10,11,13,16,18],utlizz:13,valid:0,valor:2,valu:0,values:0,valut:[10,11,12],valutazion:10,varc:2,variabil:16,ved:[0,16],veloc:6,ven:[2,10],veng:[7,16],venv:[4,16],verif:[16,17],verification:0,verr:16,verrann:7,version:[4,9,11,14,16],vide:[5,9,10,11,12,18],vien:2,view:[9,11,12],vim:16,virtual:4,virtualenv:16,virtualenvs:16,virtualhost:16,visibil:[10,11,12],vision:[9,10,11,12],vist:[7,10,13],visualizz:[7,14,15],vocal:14,volt:[0,2,4,7,10,16],want:0,wantedby:16,wants:[9,16],was:0,web:[14,15,16,18],webserver:0,well:9,what:9,when:9,whether:0,willing:9,window_siz:[0,2],windows:18,wis:9,working:16,workingdirectory:16,you:[0,16]},titles:["nest_backend
- Web API in Python","nest_crawler
- Crawler in Python","Struttura del database","nest_frontend
- Interfaccia utente in React","Meta-documentazione","Artefatti","Conclusioni","Introduzione","Processo di sviluppo","Sprint 0: 04 Apr - 18 Apr","Sprint 1: 19 Apr - 02 Mag","Sprint 2: 03 Mag - 16 Mag","Sprint 3: 17 Mag - 30 Mag","Suggerimenti relativi al corso","Strumenti utilizzati","Il progetto in breve","Installazione","Aggiornamento","N.E.S.T."],titleterms:{"final":12,aggiorn:17,altri:18,anniball:[9,10,11,12],apac:16,api:0,applic:7,apr:[9,10],april:8,artefatt:[5,9,10],attiv:[9,10,11,12],backend:16,backlog:[7,10,11,12],balugan:[9,10,11,12],bas:0,brev:15,burndown:8,calzolar:[9,10,11,12],camp:7,caratterist:7,cas:7,chiar:[9,10,11,12],cocc:[9,10,11,12],codic:16,colleg:18,collett:[9,10,11,12],com:16,compil:[4,16],conclusion:6,configur:16,consegn:[9,10,11,12],cors:13,cos:18,crawler:[1,16],cre:16,databas:[0,2,16],definition:[9,10,11,12],dem:[5,12],dipendent:16,document:[4,18],don:[9,10,11,12],estension:0,far:[5,12,18],fil:16,flask:0,flav:[9,10,11,12],frontend:16,funzional:7,general:[7,8],gestion:0,giorg:[9,10,11,12],giovann:[9,10,11,12],gitinspector:[9,10,11,12],glossar:7,gnu:4,goal:[10,11,12],goldon:[9,10,11,12],grooming:12,ide:4,individual:[9,10,11,12],install:16,intellij:4,interfacc:3,introdu:7,lorenz:[9,10,11,12],macr:7,mag:[10,11,12],magg:8,mak:4,manual:18,met:4,metod:0,minoccar:[9,10,11,12],modul:15,nest_backend:0,nest_crawler:1,nest_frontend:3,nodejs:16,nuov:16,obiett:7,part:9,percors:0,pigozz:[9,10,11,12],powershell:4,prerequis:16,process:8,progett:[15,18],proxy:16,python:[0,1,16],react:3,ready:[9,10,11,12],registr:[9,10,11,12],relat:13,relazion:18,retrospect:[9,10,11],retrospett:12,revers:16,review:[9,10,11],rimast:18,risult:9,riunion:[9,10,11,12],routes:0,scaric:16,scherm:12,screenshots:15,scrumbl:9,serviz:16,session:12,sonarqub:12,sorgent:16,sprint:[8,9,10,11,12],statist:[9,10,11,12],stef:[9,10,11,12],strument:14,struttur:2,suddivision:15,sugger:13,svilupp:8,systemd:16,tabell:0,tables:0,tecnic:18,timer:16,total:8,uso:7,utent:[3,7,16,18],utility:0,utilizz:14,web:0,windows:4}})
\ No newline at end of file
+Search.setIndex({docnames:["code/backend/index","code/crawler/index","code/database/index","code/frontend/index","code/meta/index","development/artifacts","development/conclusions","development/goals","development/process","development/sprint0/index","development/sprint1/index","development/sprint2/index","development/sprint3/index","development/suggestions","development/tools","guide/about","guide/installation","guide/updating","index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":3,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":2,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.todo":2,sphinx:56},filenames:["code/backend/index.rst","code/crawler/index.rst","code/database/index.rst","code/frontend/index.rst","code/meta/index.rst","development/artifacts.rst","development/conclusions.rst","development/goals.rst","development/process.rst","development/sprint0/index.rst","development/sprint1/index.rst","development/sprint2/index.rst","development/sprint3/index.rst","development/suggestions.rst","development/tools.rst","guide/about.rst","guide/installation.rst","guide/updating.rst","index.rst"],objects:{"":{Alert:[2,0,1,""],Authorization:[2,0,1,""],Composed:[2,0,1,""],Condition:[2,0,1,""],Contains:[2,0,1,""],MadeOf:[2,0,1,""],Notification:[2,0,1,""],Repository:[2,0,1,""],Tweet:[2,0,1,""],User:[2,0,1,""],nest_backend:[0,1,0,"-"],nest_crawler:[1,1,0,"-"]},"nest_backend.database":{base:[0,1,0,"-"],tables:[0,1,0,"-"]},"nest_backend.database.tables":{Alert:[0,0,1,""],Authorization:[0,0,1,""],Composed:[0,0,1,""],Condition:[0,0,1,""],ConditionMode:[0,0,1,""],ConditionType:[0,0,1,""],Contains:[0,0,1,""],MadeOf:[0,0,1,""],Notification:[0,0,1,""],OperationType:[0,0,1,""],Repository:[0,0,1,""],Tweet:[0,0,1,""],User:[0,0,1,""]},"nest_backend.database.tables.Alert":{__init__:[0,2,1,""],conditions:[0,3,1,""],evaluation_mode:[0,3,1,""],id:[0,3,1,""],limit:[0,3,1,""],name:[0,3,1,""],notifications:[0,3,1,""],repository:[0,3,1,""],repository_id:[0,3,1,""],to_json:[0,2,1,""],window_size:[0,3,1,""]},"nest_backend.database.tables.Authorization":{__init__:[0,2,1,""],email:[0,3,1,""],repository:[0,3,1,""],rid:[0,3,1,""],to_json:[0,2,1,""],user:[0,3,1,""]},"nest_backend.database.tables.Composed":{__init__:[0,2,1,""],repository:[0,3,1,""],rid:[0,3,1,""],snowflake:[0,3,1,""],tweet:[0,3,1,""]},"nest_backend.database.tables.Condition":{__init__:[0,2,1,""],alerts:[0,3,1,""],content:[0,3,1,""],id:[0,3,1,""],repository:[0,3,1,""],repository_id:[0,3,1,""],to_json:[0,2,1,""],tweets:[0,3,1,""],type:[0,3,1,""]},"nest_backend.database.tables.ConditionMode":{all_and:[0,3,1,""],all_or:[0,3,1,""]},"nest_backend.database.tables.ConditionType":{coordinates:[0,3,1,""],hashtag:[0,3,1,""],location:[0,3,1,""],place:[0,3,1,""],time:[0,3,1,""],user:[0,3,1,""]},"nest_backend.database.tables.Contains":{__init__:[0,2,1,""],cid:[0,3,1,""],condition:[0,3,1,""],snowflake:[0,3,1,""],tweet:[0,3,1,""]},"nest_backend.database.tables.MadeOf":{__init__:[0,2,1,""],aid:[0,3,1,""],alert:[0,3,1,""],cid:[0,3,1,""],condition:[0,3,1,""]},"nest_backend.database.tables.Notification":{__init__:[0,2,1,""],alert:[0,3,1,""],alert_id:[0,3,1,""],id:[0,3,1,""],ora:[0,3,1,""],to_json:[0,2,1,""]},"nest_backend.database.tables.OperationType":{assign:[0,3,1,""]},"nest_backend.database.tables.Repository":{__init__:[0,2,1,""],alerts:[0,3,1,""],authorizations:[0,3,1,""],conditions:[0,3,1,""],end:[0,3,1,""],evaluation_mode:[0,3,1,""],id:[0,3,1,""],is_active:[0,3,1,""],is_deleted:[0,3,1,""],name:[0,3,1,""],owner:[0,3,1,""],owner_id:[0,3,1,""],start:[0,3,1,""],to_json:[0,2,1,""],tweets:[0,3,1,""]},"nest_backend.database.tables.Tweet":{__init__:[0,2,1,""],conditions:[0,3,1,""],content:[0,3,1,""],image_url:[0,3,1,""],insert_time:[0,3,1,""],location:[0,3,1,""],place:[0,3,1,""],post_time:[0,3,1,""],poster:[0,3,1,""],repositories:[0,3,1,""],snowflake:[0,3,1,""],to_json:[0,2,1,""]},"nest_backend.database.tables.User":{__init__:[0,2,1,""],authorizations:[0,3,1,""],email:[0,3,1,""],isAdmin:[0,3,1,""],owner_of:[0,3,1,""],password:[0,3,1,""],to_json:[0,2,1,""],username:[0,3,1,""]},"nest_backend.gestione":{admin_or_403:[0,4,1,""],authenticate:[0,4,1,""],error_handler:[0,4,1,""],find_user:[0,4,1,""],gen_password:[0,4,1,""],hashtag_validator:[0,4,1,""],identity:[0,4,1,""],json_error:[0,4,1,""],json_request_authorizer:[0,4,1,""],json_success:[0,4,1,""],repository_auth:[0,4,1,""]},nest_backend:{database:[0,1,0,"-"],gestione:[0,1,0,"-"]},nest_crawler:{associate_condition_tweet:[1,4,1,""],authenticate:[1,4,1,""],is_coordinate_inside_bounding_box:[1,4,1,""],is_repo_alert_triggered:[1,4,1,""],search_repo_conditions:[1,4,1,""],send_notification_email:[1,4,1,""],send_notification_tweet:[1,4,1,""]}},objnames:{"0":["py","class","Python classe"],"1":["py","module","Python modulo"],"2":["py","method","Python metodo"],"3":["py","attribute","Python attributo"],"4":["py","function","Python funzione"]},objtypes:{"0":"py:class","1":"py:module","2":"py:method","3":"py:attribute","4":"py:function"},terms:{"0000000000000000000000000":16,"000000000000000000000000000000000000000000000":16,"00000000000000000000000000000000000000000000000000":16,"00m":11,"101":10,"10h":[9,10,11],"10m":[10,11],"114":18,"11h":11,"11m":11,"125":13,"127":16,"12h":9,"12m":10,"12worwecx":9,"13h":10,"13m":[10,11],"14h":12,"14m":10,"15h":9,"15m":[10,11],"15o70ffe51cnj8ltkhc9dgiqrvnbv9upz":12,"16h":[10,11],"16m":10,"17h":[11,12],"17m":11,"18h":12,"18m":[10,11],"19h":11,"19m":10,"1dsis_cgcrnvgzakzjevizkt4nndkycaf":10,"1x1kub":11,"2021":[9,10,11,15],"20m":11,"21m":11,"22h":12,"23h":[9,10],"23m":10,"248":16,"25m":11,"26m":10,"274":18,"27h":11,"28m":10,"29h":10,"29m":[10,11],"30040":16,"30041":16,"301":16,"30m":[9,10,11,12],"32m":10,"341":18,"34m":[10,11],"35m":[9,10],"367":[],"36m":10,"375":[],"39m":[9,11],"40m":11,"42m":10,"443":16,"44m":11,"45m":11,"46m":10,"47m":11,"48m":10,"51m":11,"52m":9,"56m":10,"57m":11,"58m":10,"59m":10,"60min":16,"63072000":16,"7c2fm2vd":16,"andr\u00e0":7,"boolean":2,"ci\u00f2":[],"class":[0,2],"default":2,"else":0,"enum":[0,2],"final":18,"for":[0,9],"function":0,"gi\u00e0":[10,12,13],"import":10,"null":2,"pu\u00f2":[2,10,13],"return":0,"static":14,"super":[2,9,10,11,12],"this":[0,16],"var":[6,10,13,16],"with":9,All:16,Dal:10,Gli:[2,7],Nel:16,Nello:[14,16],Noi:15,Non:[5,18],None:0,Per:[8,9,10,11,16,17],Una:[2,4,7,10,15,16],Uno:2,__init__:0,a_t:16,a_t_s:16,abbozz:10,abil:16,abnormal:9,about:9,absent:9,accad:2,access:[14,16],accett:[9,10,11,12],accomod:10,according:0,account:[2,7],acerb:13,acme:16,acquis:6,actions:13,activity:[12,18],actually:0,adatt:16,adds:0,adegu:[10,11],admin:2,admin_or_403:0,adott:[6,13],adozion:10,advices:9,after:16,age:16,agent:7,aggiorn:[12,18],aggiunt:[7,10,11,12],aggreg:[7,10],aid:[0,2],alcun:[6,7,10,11,16],alert:[0,1,2,11,12],alert_id:[0,2],alerts:[0,9,12],algoritm:2,all_and:0,all_not:2,all_or:[0,2],allarm:[2,7],alleg:0,allegger:13,allert:[2,7,16],allowed:0,allows:0,almen:4,alon:0,altre:[9,10,11,12],altri:[7,10],altro:[2,6],always:[9,16],ambient:[10,11,12,16],ambit:7,amministr:[7,13,16],analis:[2,7,9,10,12,14],analizz:7,analyst:8,ancor:12,and:[0,2,9],andrann:11,anniball:8,anno:13,any:[0,9],anyon:9,apac:18,apert:2,api:[10,11,12,15,16,18],app:16,appartenent:2,appien:10,applic:[14,15,18],application:0,appost:16,approcc:11,approv:16,apr:[8,18],arch:16,architect:8,architettural:10,archiv:[2,7],are:[0,9],artefatt:18,artifacts:18,asincron:6,asks:9,assegn:8,assign:0,associate_condition_tweet:1,attes:10,attest:10,attiv:[2,6,7,16,18],attravers:[7,15],attributes:0,autent:[10,15],authentic:[0,1],authentication:0,authorization:[0,2],authorizations:0,automat:[14,16],automatizz:10,autor:7,autorizz:[2,12,15],avanz:13,aver:[6,13,16],averag:9,avev:6,avven:10,avvi:[0,7,16,17],backend:[0,8,10,15,17,18],background:16,backlog:[9,18],balugan:8,bas:[2,6,7,8,9,10,11,12,18],based:16,bash:16,basic:4,bat:4,bcrypt:2,becaus:0,behav:9,benven:18,better:9,bin:16,bisogn:[5,18],board:9,bord:7,bot:16,bozz:[9,10,11,12],bpvjrwmgrn5llu8ecqcbxfaokg:11,brainstorming:9,branc:[9,10,11,12],brev:18,bug:11,bugfixing:[10,11,12],bui:13,build:[4,16],buon:[],burndown:18,bytearray:2,c_k:16,c_s:16,cach:16,calls:10,calzolar:8,camb:10,camp:[12,18],cancell:[10,11],cap:[10,13],caratter:16,caratterist:18,caric:13,cartell:[4,7,10,16],cas:[13,16,18],cases:[9,10],casual:16,cattur:11,caus:10,centralizz:14,cer:16,cerc:2,cert:[2,7],cfu:13,chart:18,check:9,checks:0,chiam:[10,14],chiar:8,chiav:10,chiud:10,chius:10,chiusur:2,chown:16,ciascun:[6,8],cid:[0,2],circ:13,classes:0,classific:2,client:[7,9,10,11,12],clon:16,cocc:8,cod:[0,18],codebas:10,codic:[10,11,12,14,17,18],codific:2,coherent:9,collabor:[6,10,14],collateral:13,collegues:9,colonn:2,columns:0,com:[4,6,7,9,10,11,12,13,17,18],comand:16,combination:0,comod:[],comp:6,compar:16,competent:[8,13],compil:[12,18],compless:[10,13,16,18],complet:[9,13],completed:9,completing:9,component:[2,9,10],compos:13,composed:[0,2],compost:15,comprens:15,compres:[9,10,11,12],comun:[6,14,15],comunic:12,comunqu:10,concess:2,conclusion:[11,18],concord:[9,10,11,12,13],condition:[0,2,13],conditionmod:0,conditions:[0,11],conditions_typ:1,conditiontyp:0,condivid:7,condivision:7,condizion:[2,7,10,11,15],conferm:[9,10,11,12],config:16,configur:[7,9,10,11,12,18],configuration:4,conflitt:6,connession:16,conoscent:7,consegn:18,conseguent:10,consent:[2,10],consigl:16,constructed:0,constructor:0,consult:9,consumer:16,cont:[2,7],contains:[0,2],conten:[2,16],contenent:2,conteng:2,contenitor:2,content:[0,2],contien:2,continuous:[4,13],contribution:9,controll:[10,14],cooper:9,cooperation:9,coordin:2,coordinates:[0,2],cop:16,cor:16,corpos:13,correct:0,corrett:[16,17],correzion:11,corrispond:13,cors:[10,15,18],cos:[2,4,5,9,10,11,12],costant:16,costru:10,could:[0,9],couldn:9,coverag:[11,14],crawler:[2,8,12,17,18],cre:[2,7,10,11,18],createdb:16,createuser:16,creating:16,creator:2,creazion:[2,7,9,10,11,12,14],cred:13,credentials:0,credenzial:16,criter:[9,10,11,12],css:9,curl:16,dark:9,dashboard:[9,11],dat:[0,2,4,7,9,10,11,12,15,16],databas:[8,9,10,11,13,15,18],dbms:16,deb:18,debian:13,debt:9,decl_ap:0,declar:0,decreases:9,defin:[7,9,10,11,12],definit:9,definition:18,definizion:[2,9,10,11,12],dem:[11,16,18],denomin:16,depends:0,deployment:13,description:16,desider:16,design:9,designer:8,determin:[7,11],dettagl:[9,10,11,12,13,16],dev:7,developer:8,development:18,diagramm:9,differenc:9,dimestichezz:6,diminu:10,dimostr:[6,13],dipendent:[4,7,9,10,11,12,18],dir:[13,16],direct:[],directory:[4,16,17],dirett:[7,13,16],direzion:13,discord:[9,14],discret:7,discuss:9,discussion:11,dispend:10,dispon:[0,4,9,10,11,12,16],disponessim:4,disponibil:6,distanz:[6,13],distribu:16,div:2,diven:2,divers:10,doa:16,docker:13,docs:[0,4,12,13,16,18],document:[0,8,9,10,11,12,14],documentation:4,does:9,doesn:9,doing:9,don:18,dop:[2,16],doppiagg:9,dover:13,dovr:16,dovrebb:16,dovrebber:13,driv:[9,10,11,12],driving:9,dsjiofgvinmodfiojvbnio3erfnoiweraqugu43ghjwrevniuwerng43iugnreuwignhritmj43i43nb8i42ug0wevkwovmwigtjj:16,due:7,dunqu:16,dur:[8,9,10,11,12],durant:[7,9,10,11,12,13],during:9,each:9,ecc:[],eccellent:6,eccess:13,edific:6,edit:16,effectiveness:9,effett:13,effettu:[6,7,9,10,11],efficac:6,efficent:10,efficient:8,efficiently:9,effort:9,elabor:15,element:[2,7],elenc:9,elev:10,elimin:[2,7,10],email:[0,2,7,16],emers:10,enabl:16,encourag:9,end:[0,2,9],engines:16,entit:[2,10],entrarv:16,entri:4,entro:2,entry:2,enumeration:0,env:16,environment:[4,16],epic:[7,9],eran:[10,13],error:[0,10,12,16],error_handler:0,errorunknownerror:0,esam:15,esecu:[14,16],esegu:[2,4,7,12,13,16,17],esemp:[10,16],esit:10,esperient:[7,13],esponenzial:10,espost:16,espress:12,esse:10,essend:7,esser:[2,7,10,12,16],essi:[2,7],esso:2,estension:18,estern:16,estim:9,estraiam:15,evaluating:9,evaluation:9,evaluation_mod:[0,2],event:7,eventual:2,every:[9,16],everyon:9,evit:13,exampl:0,exec:16,execstart:16,experienc:13,explain:9,explorer:10,expr:16,express:9,ext4:18,fac:13,facil:10,facing:9,fact:0,fallimentar:11,fancy:0,far:16,farl:16,fas:[7,13],fatt:10,features:12,feedback:7,feel:9,feels:9,fett:13,figm:[9,10,14],fil:[9,10,11,12,13,18],files:12,filtr:7,fin:[6,10,16],finc:16,find_user:0,finestr:7,fix:[10,11,12],fixtures:11,flag:2,flask:[15,18],flask_config:16,flav:8,folders:10,forc:16,form:15,format:0,formatted:0,forn:[7,9,10,11,12,13,15,16],fors:13,forwarded:16,foss:4,fosser:6,fram:9,framework:[10,15],friendly:9,from:[0,9],frontend:[8,10,11,12,17,18],full:16,fullchain:16,fundamental:9,funzion:[10,12,13],funzional:[9,10,11,12,13,18],futur:[2,15],gam:9,gand:16,garant:[],gen_password:0,gener:[4,9,10,11,12,16],general:[10,12,18],generates:0,geograf:[7,12],geolocalizz:[10,11,12],gest:[0,15,16],gestion:[7,10,12,18],get:9,gioc:13,giorg:[8,18],giorn:14,giovann:8,git:[6,9,10,11,14,16,17],github:[4,13],gitlab:[0,6,9,10,11,12,13,14,16],giust:13,glossar:18,gnu:18,goal:[9,18],going:9,goldon:8,good:9,googl:[9,10,11,12],grad:[9,10,11,12],grafic:[7,14],grattacap:13,gratu:13,gratuit:11,graz:10,grig:7,grooming:[10,18],gross:10,group:[9,16],grupp:[6,7,9,10,11,13],guid:16,gunicorn:16,hann:[6,9,10,11,12],happy:0,hash:0,hashed:0,hashtag:[0,2,7,10],hashtag_validator:0,header:16,help:9,helpful:9,higher:9,himself:9,hom:16,host:13,hosted:14,hosting:14,html:[4,9,10,11,16],http:[15,16],http_host:16,https:[9,10,11,12,14,16],ide:[5,6,9,10,13,14,18],ideas:9,identif:2,identity:0,illustr:16,image_url:[0,2],immagin:2,immediat:15,impar:6,impatt:10,imped:13,impieg:9,implement:[10,13],imports:0,impost:[2,16],inaffid:13,incontr:11,incorr:13,index:18,indic:[2,18],indipendent:[6,9,10,11,12],indirizz:[14,16],individu:[7,10],inerent:10,infin:[4,7,17],influ:10,info:10,inform:[2,16],informat:[7,13,15],ingles:12,initial:9,initialization:0,iniz:[6,7,9,12,13],innesc:2,inoltr:[2,13],inser:[2,5,10,11,12,16,18],insert_tim:[0,2],install:[4,13,18],instanc:0,instrad:13,integer:2,integr:[4,7,11,16],integration:13,intellij:[6,10,13,14,18],inter:[10,12,16],interfacc:[0,7,12,14,18],intern:[4,15,16],internet:16,interrott:7,interv:9,introdu:18,inutil:10,invec:[6,10,13],invi:[2,7,16],involved:9,is_act:[0,2],is_coordinate_inside_bounding_box:1,is_deleted:[0,2],is_repo_alert_triggered:1,isadmin:[0,2],isol:16,ispezion:2,issu:[10,11],issues:[11,13],istantane:14,istanz:13,ital:11,its:0,jest:12,jobs:9,journalctl:16,json:[0,10,16],json_error:0,json_request_authorizer:0,json_success:0,jsx:15,jwt:[0,16],keep:9,key:16,keys:0,keyword:7,know:9,knowledg:9,kwargs:0,lasc:[11,13],lat:10,latitud:1,lavor:[6,8,9,10,11,13],lead:8,leads:9,learn:9,learned:9,left:9,leg:[2,10,12],legam:2,legger:10,leggibil:10,let:9,lettur:2,level:9,lezion:13,liber:13,librer:16,licenz:[4,13],light:9,limit:[0,2,10,12],lin:9,line:18,linguagg:6,link:[2,5,9,10,11,12,18],linting:13,linux:[4,16],littl:0,livell:13,local:[7,10,16],localizz:12,location:[0,2],log:[9,10,11,12,16,18],logg:10,logic:7,login:[0,7,10],longitud:1,lookup:16,loopback:16,lor:7,lorenz:8,lost:9,lowest:9,macr:18,macroscop:7,madeof:[0,2],mag:[8,18],maggior:[9,10,11,12,16],mail:[2,16],main:[9,10,11,12],mak:18,makefil:4,makes:9,malfunzion:12,manag:10,management:[9,10,11,14],manipol:15,manten:[10,16],manual:[4,16],manutenzion:13,many:0,mapped:0,marcell:[9,10,11,12],master:[8,9,10],matc:0,max:16,mechanics:9,med:13,member:9,members:9,membr:[6,9,10,11,12,14],men:2,mentr:[4,13],merg:[9,10,11,12],mess:2,messag:0,messaggist:14,met:18,method:0,metod:[6,10,18],metodolog:13,metric:9,mezz:7,miglior:[6,10,14],minoccar:[8,18],minor:10,minutes:16,missirol:[9,10,11,12],mkdir:16,mnt:18,mockup:[9,10,11],mod:[7,9,10,14,16],model:0,modell:10,modic:10,modif:[10,11,14],modul:[0,6,10,18],molt:[13,16],moment:[2,7,10],most:9,mostr:[7,15],mot:[12,16],motivation:9,msg:0,mult:16,multilinguagg:14,nam:[0,2],names:0,natural:10,neanc:10,necess:16,necessar:[4,9,10,11,12,16],necessit:13,need:9,needs:0,nessun:16,nest:[16,17],nest_backend:[15,16,18],nest_crawler:[15,16,18],nest_frontend:[15,18],net:16,network:16,never:9,next:9,node_env:16,node_modules:16,node_version:16,nodejs:[6,18],nom:[2,10,16],nostr:8,not:[0,2,9],notif:[2,7],notification:[0,2],notifications:[0,2,9],nozion:[6,13],npm:16,nss:16,number:9,numer:[2,6,7,10,13],nuov:[2,6,7,11,12,18],nvm:16,oauth:10,obiett:[10,18],oggett:2,ogni:[2,9,10,11,12],oltre:13,onbootsec:16,one:[9,16],onlin:16,only:0,onunitactivesec:16,oper:[13,16],operation:0,operationtyp:0,opinion:9,opinions:9,oppur:[2,7],opzional:2,ora:[0,2,9,10,11,16],orar:2,ore:[2,13],org:16,organiz:9,organizz:[6,10],original:18,orm:0,ospit:[4,13,14],other:9,ottimizz:16,output:10,ove:7,overrid:16,ovver:[2,11],ovvi:10,owner:[0,8,9,10,11,12,16],owner_id:[0,2],owner_of:0,pacchett:16,pagin:9,pair:10,pandem:6,param:0,parametr:4,parecc:13,parents:16,parol:10,part:[6,7,10,11,13,14,15,18],partecip:13,partenz:[2,12],participants:9,particol:[4,7],particolar:7,pass:11,password:[0,2,16],pawn:9,payload:0,pdf:[9,10,11,12],penpot:9,perc:[11,16],percors:[16,18],perd:13,perfect:9,period:16,permess:[2,6,10],permett:[2,4,6,7,11,12,13],pertant:16,perven:12,piacevol:13,piattaform:[2,7,14],piccol:[7,10,11,12],pien:16,pigozz:[8,18],plac:[0,2],place_id:11,plan:9,planning:9,platform:0,play:9,played:9,player:9,players:9,plugin:10,poetry:[4,16],poi:4,poic:[10,13],point:9,poker:[9,12],poor:9,popol:[13,16],port:[10,13,16],porting:11,posit:10,posizion:[2,7,12],poss:[2,10,16],possibil:[4,6,7,9,10,11,12,16],post:[2,12],post_tim:[0,2],poster:[0,2],postgres:16,postgresql:16,pot:[9,10,11,12],poter:10,potess:10,potr:7,potrann:7,powershell:18,practic:9,pratic:13,precedent:[13,16],predic:7,predisporr:10,predisposizion:10,preferibil:16,prem:16,prepar:11,prerequis:18,present:[0,2,7,9,10,13,15],presenz:[2,6],preved:7,previst:13,prim:[2,4,7,9,10,11,12,13,16],principal:[7,10],priorit:[9,10,11,12],priority:9,problem:[9,13],problemat:13,proced:[6,16],procedur:10,process:[9,18],prod:16,prodott:[6,7,10],product:[8,9,10,11,12],production:16,prof:[9,10,11,12,13],progett:[4,7,9,10,12,13,14,16,17],programming:10,project:[9,10,11,14],pront:12,properly:9,proporzion:13,proporzional:[],propr:[6,7,13,16],propriet:10,proprietar:2,prosegu:16,prossim:10,prot:16,protocols:16,prov:10,proxy:18,proxypass:16,proxypassrevers:16,pubblic:[2,7,11,16],pull:17,punt:[7,10],purtropp:6,put:11,puts:9,py3:16,pypoetry:16,pytest:11,python:[4,6,15,18],qual:[2,7,11,12,13,16],qualc:[],qualit:14,quality:9,qualor:[4,7],qualsias:7,quand:2,quant:[10,13,16],quas:13,quel:10,quell:[7,10,13],query:[11,12],quest:[2,4,9,10,11,12,13,16],question:9,questions:9,qui:[5,7,12,18],quind:13,rac:13,raccogl:[7,9],raccolt:[2,7],radius:1,ragg:2,raggiung:13,rappresent:[2,12,16],react:[15,18],read:13,readthedocs:4,ready:18,realizz:[6,9,10,11,15],recuper:15,recurs:16,refactor:10,refactoring:[10,11,12,14],refactory:12,registered:0,registr:18,regol:[7,13],regolar:7,relat:[2,4,7,9,10,11,12,18],relationships:0,relazion:10,rend:[10,13,16],render:13,rep:[2,10],repeat:9,repeatabl:9,report:12,repositories:[0,9],repository:[0,2,7,9,10,11,14,16],repository_auth:0,repository_id:[0,1,2],reqest:0,request_schem:16,requestheader:16,required:[0,9],requirements:[9,10,11,12],res:6,resocont:9,rest:[10,16],restart:17,restitu:10,restructuredtext:[4,6],result:9,ret:16,retrieval:10,retrospect:18,retrospett:[11,12,18],returned:0,returns:0,revers:18,review:18,rewriteengin:16,rewriterul:16,riavv:16,riavviin:17,ricerc:[7,10,11,12],ricev:[7,16],richied:[2,13],richiest:[7,9,10,11,12,13,16],ricontroll:12,ricord:16,rid:[0,2],riemp:2,rig:[16,18],righ:2,riguard:10,rilev:[7,10],rimanent:12,rimang:16,rimoss:7,rimozion:10,riport:7,riscontr:10,riserv:2,risolt:11,risolu:11,rispett:[2,11],rispond:10,rispost:10,ristim:10,risult:18,ritard:10,ritien:6,ritm:6,ritocc:[9,10],ritorn:[10,11],riunion:6,riusc:11,rivalut:10,roles:9,root:[16,17],routes:18,rp_app:16,rst:[12,18],run:[4,16],ruol:[16,18],ryg:16,sacc:[],sal:2,salt:13,salv:[15,16],sar:[7,16],sarann:7,sarebb:[10,13],sarebber:[6,13],scanner:11,scaric:[17,18],scegl:7,scelt:13,scherm:[0,10],scop:7,screenshots:18,script:[4,13,16],scritt:[4,10,15],scrittur:[10,14],scriv:[5,18],scrum:[8,9,10,12],scrumbl:[13,18],search_repo_conditions:1,second:[11,15],secret:16,secret_key:16,security:16,see:16,segnal:[2,11,13],segret:16,segu:[7,12,17],seguent:[2,9,10,11,12,14,16,17],selezion:7,self:14,semplic:[7,13],send_notification_email:1,send_notification_tweet:1,senz:[7,10],serenity:9,serializabl:0,serv:16,server:[0,15,16],servernam:16,servic:16,serviz:[17,18],session:[10,11,18],set:16,sets:0,settiman:8,setting:11,settings:9,setup:[11,16],sfrutt:13,shar:9,sharing:9,shell:[4,16],shouldnt:0,siam:8,sicurezz:16,signif:13,signific:13,simpl:0,sincron:14,sint:[12,16],sistem:[4,7,10,13,16],sit:10,situation:9,siz:9,smallint:2,smtp:16,smtp_from_email:16,smtp_host:16,smtp_password:16,smtp_usernam:16,snowflak:[0,2],soddisf:7,soddisfacent:7,soddisfatt:7,softw:[6,7,9,13,14,15],sogl:2,sol:[13,16],solving:9,something:9,son:[2,6,7,10,12,13,14,16],sonarqub:[9,10,11,13,14],soprattutt:13,sorgent:[4,9,10,11,12,17,18],sort:6,sosten:6,sostitu:16,sottomodul:10,sourc:[4,18],speaks:9,spec:0,specif:[0,9,13],specific:10,sphinx:[4,12],spiegazion:13,sprint1:10,sprint2:11,sprint3:18,sprint:[7,18],sprints:9,sqlalchemy:[0,16],sqlalchemy_database_ur:16,srs:9,srv:16,sslcertificatefil:16,sslcertificatekeyfil:16,sslengin:16,stag:9,stamp:0,standard:4,standardizz:10,start:[0,2,16],stat:[2,6,7,9,10,11,12,13,14,16],statist:[7,15,18],stats:[9,10,11],status:[16,17],stef:[8,18],steff:[14,16],stess:16,stesur:[9,10],stim:[9,10,11,12],stories:[9,12,18],story:[7,9,10,11,12],strict:16,string:[0,2,16],strument:[4,12,13,18],struttur:[4,6,10,18],stud:[10,12],student:13,success:[9,10,16],successful:0,such:0,suddivision:18,sugger:[9,10,11,12,16,18],suggestions:9,superflu:13,support:[10,12,13,16],sur:9,svar:13,svilupp:[2,7,9,10,11,12,14,18],svolg:[],svolt:[8,10],swagger:[0,11],sysadmin:8,system:0,systemctl:[16,17],systemd:[6,18],tabell:[2,18],tables:18,taig:[6,9,10,11,13,14],talks:9,talvolt:16,target:[4,16],task:[],tasks:9,tast:16,tastier:16,team:[6,9,10,11,12,13,14],technical:9,tecnic:[12,13,16],telemat:7,temp:[2,6,9,10,13],temporal:7,ten:2,tentat:11,ter:18,termin:[9,10,11],terz:[12,13],test:[9,10,11,12,16],tester:[8,9,10,11,12],testing:[10,11,14],tests:11,that:0,the:[0,9,13,16],thes:0,they:9,thing:0,thingamajigs:0,throughout:9,tim:[0,2,9],timer:[17,18],timers:16,timestamp:2,tip:[2,10],tipic:10,tipolog:7,to_json:0,token:16,tool:13,topic:9,total:[9,10,11,12],totally:9,tracc:[2,10,14],traduzion:[11,12],tram:[7,10,12,13,16],translator:8,transport:16,trasfer:12,tre:[7,15],trigger:2,tropp:10,trov:[4,7,18],tru:2,tutt:[6,7,9,10,11,12,13,14,16,17],tweepy:15,tweet:[0,1,2,7,10,11,12,15,16],tweet_latitud:1,tweet_longitud:1,tweets:0,twitter:[2,6,7,9,10,12,15,16],type:[0,2,16],typo:12,uf2up4_lneoovhzpvr77msg:9,ulterior:[11,12],ultim:[2,4,9,10,13,14],uml:7,understand:9,uniform:9,uniformity:9,unimor:15,unit:16,univers:13,universitar:13,univoc:2,unknown:[],unrepeatabl:9,usa:16,usand:[2,15],usat:[2,14],use:9,used:0,user:[0,2,4,7,9,11,12,13,16,18],useradd:16,usernam:[0,2],users:[10,11],using:0,uso:[16,18],usp:[],usr:16,utent:[2,10,11,15],util:13,utility:18,utilizz:[2,7,10,11,13,16,18],utlizz:[],valid:0,valor:2,valu:0,values:0,valut:[11,12,18],valutazion:[],varc:2,variabil:16,ved:[0,9,10,11,16],veloc:6,ven:[2,10],veng:[7,16],venv:[4,16],verif:[16,17],verific:[10,13],verification:0,verr:16,verrann:[7,10],version:[4,9,11,14,16],vide:[5,9,10,11,12,18],vien:2,view:[9,11,12],vim:16,virtual:4,virtualenv:16,virtualenvs:16,virtualhost:16,visibil:12,vision:[9,10,11,12],vist:[7,13],visualizz:[7,9,10,11,14,15],vocal:14,volt:[0,2,4,7,10,16],want:0,wantedby:16,wants:[9,16],was:0,web:[14,15,16,18],webserver:0,well:9,what:9,when:9,whether:0,willing:9,window_siz:[0,2],windows:18,wis:9,working:16,workingdirectory:16,yml:13,you:[0,16]},titles:["nest_backend
- Web API in Python","nest_crawler
- Crawler in Python","Struttura del database","nest_frontend
- Interfaccia utente in React","Meta-documentazione","Artefatti","Conclusioni","Introduzione","Processo di sviluppo","Sprint 0: 04 Apr - 18 Apr","Sprint 1: 19 Apr - 02 Mag","Sprint 2: 03 Mag - 16 Mag","Sprint 3: 17 Mag - 30 Mag","Suggerimenti relativi al corso","Strumenti utilizzati","Il progetto in breve","Installazione","Aggiornamento","N.E.S.T."],titleterms:{"final":12,aggiorn:17,altri:18,anniball:[9,10,11,12],apac:16,api:0,applic:7,apr:[9,10],artefatt:[5,9],attiv:[9,10,11,12],backend:16,backlog:[7,10,11,12],balugan:[9,10,11,12],bas:0,brev:15,burndown:[8,10,11],calzolar:[9,10,11,12],camp:7,caratterist:7,cas:7,chart:[8,10,11],chiar:[9,10,11,12],cocc:[9,10,11,12],codic:16,colleg:18,collett:[9,10,11,12],com:16,compil:[4,16],compless:8,complet:[10,11,12],conclusion:6,configur:16,consegn:[9,10,11,12],cors:13,cos:18,crawler:[1,16],cre:16,databas:[0,2,16],deb:10,definition:[9,10,11,12],dem:[5,12],dipendent:16,document:[4,18],don:[9,10,11,12],estension:0,far:[5,12,18],fil:16,flask:0,flav:[9,10,11,12],frontend:16,funzional:7,general:7,gestion:0,giorg:[9,10,11,12],giovann:[9,10,11,12],gitinspector:[9,10,11,12],glossar:7,gnu:4,goal:[10,11,12],goldon:[9,10,11,12],grooming:12,ide:4,individual:[9,10,11,12],install:16,intellij:4,interfacc:3,introdu:7,lorenz:[9,10,11,12],macr:7,mag:[10,11,12],mak:4,manual:18,met:4,metod:0,minoccar:[9,10,11,12],modul:15,nest_backend:0,nest_crawler:1,nest_frontend:3,nodejs:16,nuov:16,obiett:7,part:9,percors:0,pigozz:[9,10,11,12],powershell:4,prerequis:16,process:8,progett:[15,18],proxy:16,python:[0,1,16],react:3,ready:[9,10,11,12],registr:[9,10,11,12],relat:13,relazion:18,retrospect:[9,10,11,12],retrospett:[],revers:16,review:[9,10,11],rimast:18,risult:9,riunion:[9,10,11,12],routes:0,ruol:8,scaric:16,scherm:12,screenshots:15,scrumbl:9,serviz:16,session:12,sonarqub:12,sorgent:16,sprint:[8,9,10,11,12],statist:[9,10,11,12],stef:[9,10,11,12],stories:10,strument:14,struttur:2,suddivision:15,sugger:13,svilupp:8,systemd:16,tabell:0,tables:0,task:[10,11,12],tecnic:[10,18],timer:16,user:10,uso:7,utent:[3,7,16,18],utility:0,utilizz:14,valut:10,web:0,windows:4}})
\ No newline at end of file
diff --git a/docs/source/conf.py b/docs/source/conf.py
index 228d6b2..0174b8c 100644
--- a/docs/source/conf.py
+++ b/docs/source/conf.py
@@ -101,6 +101,7 @@ def setup(app):
todo_include_todos = True
todo_emit_warnings = True
+smartquotes = False
# -- Automodule settings -----------------------------------------------------
diff --git a/docs/source/development/Burndown1.png b/docs/source/development/Burndown1.png
deleted file mode 100644
index 17c6009..0000000
Binary files a/docs/source/development/Burndown1.png and /dev/null differ
diff --git a/docs/source/development/Burndown2.png b/docs/source/development/Burndown2.png
deleted file mode 100644
index 42012bf..0000000
Binary files a/docs/source/development/Burndown2.png and /dev/null differ
diff --git a/docs/source/development/Burndown3.png b/docs/source/development/Burndown3.png
deleted file mode 100644
index 7dafa10..0000000
Binary files a/docs/source/development/Burndown3.png and /dev/null differ
diff --git a/docs/source/development/conclusions.rst b/docs/source/development/conclusions.rst
index 300e8f0..02a797e 100644
--- a/docs/source/development/conclusions.rst
+++ b/docs/source/development/conclusions.rst
@@ -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/source/development/process.rst b/docs/source/development/process.rst
index 113603d..89baaba 100644
--- a/docs/source/development/process.rst
+++ b/docs/source/development/process.rst
@@ -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/source/development/sprint0/index.rst b/docs/source/development/sprint0/index.rst
index ad9ff8f..525db40 100644
--- a/docs/source/development/sprint0/index.rst
+++ b/docs/source/development/sprint0/index.rst
@@ -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/source/development/sprint0/sprint-0_retrospective.pdf b/docs/source/development/sprint0/sprint-0_retrospective.pdf
deleted file mode 100644
index 9891a23..0000000
Binary files a/docs/source/development/sprint0/sprint-0_retrospective.pdf and /dev/null differ
diff --git a/docs/source/development/sprint1/BacklogSprint1.png b/docs/source/development/sprint1/BacklogSprint1.png
deleted file mode 100644
index 832fb72..0000000
Binary files a/docs/source/development/sprint1/BacklogSprint1.png and /dev/null differ
diff --git a/docs/source/development/sprint1/Sprint1Task.png b/docs/source/development/sprint1/Sprint1Task.png
deleted file mode 100644
index e558894..0000000
Binary files a/docs/source/development/sprint1/Sprint1Task.png and /dev/null differ
diff --git a/docs/source/development/sprint1/ValutazioneSMDebitoTecnico.md b/docs/source/development/sprint1/ValutazioneSMDebitoTecnico.md
deleted file mode 100644
index d218893..0000000
--- a/docs/source/development/sprint1/ValutazioneSMDebitoTecnico.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Valutazione ScrumMaster 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 [**N.E.S.T.**]
->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.
diff --git a/docs/source/development/sprint1/index.rst b/docs/source/development/sprint1/index.rst
index 90002b4..fa33e54 100644
--- a/docs/source/development/sprint1/index.rst
+++ b/docs/source/development/sprint1/index.rst
@@ -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/source/development/sprint1/valutazionePO__US_realizzate_o_rifiutate.md b/docs/source/development/sprint1/valutazionePO__US_realizzate_o_rifiutate.md
deleted file mode 100644
index c153162..0000000
--- a/docs/source/development/sprint1/valutazionePO__US_realizzate_o_rifiutate.md
+++ /dev/null
@@ -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.
\ No newline at end of file
diff --git a/docs/source/development/sprint2/index.rst b/docs/source/development/sprint2/index.rst
index 5aac5f6..0c55450 100644
--- a/docs/source/development/sprint2/index.rst
+++ b/docs/source/development/sprint2/index.rst
@@ -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/_images/Burndown3.png b/docs/source/development/sprint3/3-burndown.png
similarity index 100%
rename from docs/build/html/_images/Burndown3.png
rename to docs/source/development/sprint3/3-burndown.png
diff --git a/docs/source/development/sprint3/Chart3.png b/docs/source/development/sprint3/Chart3.png
deleted file mode 100644
index 7dafa10..0000000
Binary files a/docs/source/development/sprint3/Chart3.png and /dev/null differ
diff --git a/docs/source/development/sprint3/index.rst b/docs/source/development/sprint3/index.rst
index 9a501be..5aab904 100644
--- a/docs/source/development/sprint3/index.rst
+++ b/docs/source/development/sprint3/index.rst
@@ -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/source/development/suggestions.rst b/docs/source/development/suggestions.rst
index 547206d..5cf1a10 100644
--- a/docs/source/development/suggestions.rst
+++ b/docs/source/development/suggestions.rst
@@ -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/source/index.rst b/docs/source/index.rst
index 01cc340..31347ab 100644
--- a/docs/source/index.rst
+++ b/docs/source/index.rst
@@ -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