mirror of
https://github.com/pds-nest/nest.git
synced 2024-11-28 23:44:19 +00:00
148 lines
12 KiB
TeX
148 lines
12 KiB
TeX
|
\babel@toc {italian}{}
|
||
|
\babel@toc {italian}{}
|
||
|
\contentsline {chapter}{\numberline {1}Il progetto in breve}{3}{chapter.1}%
|
||
|
\contentsline {section}{\numberline {1.1}Suddivisione in moduli}{3}{section.1.1}%
|
||
|
\contentsline {section}{\numberline {1.2}Screenshots}{4}{section.1.2}%
|
||
|
\contentsline {chapter}{\numberline {2}Installazione}{7}{chapter.2}%
|
||
|
\contentsline {section}{\numberline {2.1}Prerequisiti}{7}{section.2.1}%
|
||
|
\contentsline {section}{\numberline {2.2}Creare un nuovo utente}{8}{section.2.2}%
|
||
|
\contentsline {section}{\numberline {2.3}Scaricare il codice sorgente}{8}{section.2.3}%
|
||
|
\contentsline {section}{\numberline {2.4}Creare il database}{8}{section.2.4}%
|
||
|
\contentsline {section}{\numberline {2.5}Creare un file di configurazione per il backend}{8}{section.2.5}%
|
||
|
\contentsline {section}{\numberline {2.6}Installare le dipendenze Python}{9}{section.2.6}%
|
||
|
\contentsline {section}{\numberline {2.7}Installare le dipendenze NodeJS}{9}{section.2.7}%
|
||
|
\contentsline {section}{\numberline {2.8}Creare un servizio SystemD per il backend}{9}{section.2.8}%
|
||
|
\contentsline {section}{\numberline {2.9}Compilare il frontend}{10}{section.2.9}%
|
||
|
\contentsline {section}{\numberline {2.10}Creare un servizio SystemD per il frontend}{10}{section.2.10}%
|
||
|
\contentsline {section}{\numberline {2.11}Creare un servizio SystemD per il crawler}{12}{section.2.11}%
|
||
|
\contentsline {section}{\numberline {2.12}Configurare il crawler}{12}{section.2.12}%
|
||
|
\contentsline {section}{\numberline {2.13}Creare un timer SystemD per il crawler}{13}{section.2.13}%
|
||
|
\contentsline {section}{\numberline {2.14}Configurare Apache come reverse proxy}{14}{section.2.14}%
|
||
|
\contentsline {chapter}{\numberline {3}Aggiornamento}{15}{chapter.3}%
|
||
|
\contentsline {chapter}{\numberline {4}Introduzione}{17}{chapter.4}%
|
||
|
\contentsline {section}{\numberline {4.1}Obiettivo}{17}{section.4.1}%
|
||
|
\contentsline {section}{\numberline {4.2}Campo di applicazione}{17}{section.4.2}%
|
||
|
\contentsline {section}{\numberline {4.3}Caratteristiche degli utenti}{17}{section.4.3}%
|
||
|
\contentsline {section}{\numberline {4.4}Glossario}{18}{section.4.4}%
|
||
|
\contentsline {section}{\numberline {4.5}Macro\sphinxhyphen {}funzionalità}{18}{section.4.5}%
|
||
|
\contentsline {section}{\numberline {4.6}Casi d\textquotesingle {}uso}{18}{section.4.6}%
|
||
|
\contentsline {section}{\numberline {4.7}Backlog generale}{23}{section.4.7}%
|
||
|
\contentsline {chapter}{\numberline {5}Strumenti utilizzati}{27}{chapter.5}%
|
||
|
\contentsline {chapter}{\numberline {6}Processo di sviluppo}{29}{chapter.6}%
|
||
|
\contentsline {section}{\numberline {6.1}Ruoli}{29}{section.6.1}%
|
||
|
\contentsline {section}{\numberline {6.2}Sprint}{29}{section.6.2}%
|
||
|
\contentsline {subsection}{\numberline {6.2.1}Sprint 0: 04 Apr \sphinxhyphen {} 18 Apr}{30}{subsection.6.2.1}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.1.1}Consegna}{30}{subsubsection.6.2.1.1}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.1.2}Definition of Ready}{30}{subsubsection.6.2.1.2}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.1.3}Definition of Done}{30}{subsubsection.6.2.1.3}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.1.4}Statistiche}{30}{subsubsection.6.2.1.4}%
|
||
|
\contentsline {paragraph}{Gitinspector}{30}{paragraph*.3}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.1.5}Sprint Retrospective}{30}{subsubsection.6.2.1.5}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.1.6}Sprint Review}{31}{subsubsection.6.2.1.6}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.1.7}Artefatti}{31}{subsubsection.6.2.1.7}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.1.8}Registro attività}{31}{subsubsection.6.2.1.8}%
|
||
|
\contentsline {paragraph}{Riunioni collettive}{31}{paragraph*.4}%
|
||
|
\contentsline {paragraph}{Attività individuali}{31}{paragraph*.5}%
|
||
|
\contentsline {subparagraph}{Stefano Goldoni}{31}{subparagraph*.6}%
|
||
|
\contentsline {subparagraph}{Flavia Cocca}{32}{subparagraph*.7}%
|
||
|
\contentsline {subparagraph}{Chiara Calzolari}{32}{subparagraph*.8}%
|
||
|
\contentsline {subparagraph}{Stefano Pigozzi}{32}{subparagraph*.9}%
|
||
|
\contentsline {subparagraph}{Giovanni Anniballi}{33}{subparagraph*.10}%
|
||
|
\contentsline {subparagraph}{Giorgio Minoccari}{33}{subparagraph*.11}%
|
||
|
\contentsline {subparagraph}{Lorenzo Balugani}{33}{subparagraph*.12}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.1.9}Risultati della partita di Scrumble}{33}{subsubsection.6.2.1.9}%
|
||
|
\contentsline {subsection}{\numberline {6.2.2}Sprint 1: 19 Apr \sphinxhyphen {} 02 Mag}{38}{subsection.6.2.2}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.2.1}Consegna}{38}{subsubsection.6.2.2.1}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.2.2}Goal}{38}{subsubsection.6.2.2.2}%
|
||
|
\contentsline {paragraph}{Backlog}{39}{paragraph*.13}%
|
||
|
\contentsline {paragraph}{Task completati}{40}{paragraph*.14}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.2.3}Definition of Ready}{40}{subsubsection.6.2.2.3}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.2.4}Definition of Done}{40}{subsubsection.6.2.2.4}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.2.5}Statistiche}{40}{subsubsection.6.2.2.5}%
|
||
|
\contentsline {paragraph}{Burndown chart}{40}{paragraph*.15}%
|
||
|
\contentsline {paragraph}{Gitinspector}{41}{paragraph*.16}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.2.6}Sprint Retrospective}{41}{subsubsection.6.2.2.6}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.2.7}Sprint Review}{41}{subsubsection.6.2.2.7}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.2.8}Valutazione sul debito tecnico}{41}{subsubsection.6.2.2.8}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.2.9}Valutazione sulle User Stories}{42}{subsubsection.6.2.2.9}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.2.10}Registro attività}{42}{subsubsection.6.2.2.10}%
|
||
|
\contentsline {paragraph}{Riunioni collettive}{42}{paragraph*.17}%
|
||
|
\contentsline {paragraph}{Attività individuali}{42}{paragraph*.18}%
|
||
|
\contentsline {subparagraph}{Stefano Goldoni}{43}{subparagraph*.19}%
|
||
|
\contentsline {subparagraph}{Flavia Cocca}{43}{subparagraph*.20}%
|
||
|
\contentsline {subparagraph}{Chiara Calzolari}{43}{subparagraph*.21}%
|
||
|
\contentsline {subparagraph}{Stefano Pigozzi}{44}{subparagraph*.22}%
|
||
|
\contentsline {subparagraph}{Giovanni Anniballi}{45}{subparagraph*.23}%
|
||
|
\contentsline {subparagraph}{Giorgio Minoccari}{46}{subparagraph*.24}%
|
||
|
\contentsline {subparagraph}{Lorenzo Balugani}{46}{subparagraph*.25}%
|
||
|
\contentsline {subsection}{\numberline {6.2.3}Sprint 2: 03 Mag \sphinxhyphen {} 16 Mag}{47}{subsection.6.2.3}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.3.1}Consegna}{47}{subsubsection.6.2.3.1}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.3.2}Goal}{47}{subsubsection.6.2.3.2}%
|
||
|
\contentsline {paragraph}{Backlog}{48}{paragraph*.26}%
|
||
|
\contentsline {paragraph}{Task completati}{49}{paragraph*.27}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.3.3}Definition of Ready}{50}{subsubsection.6.2.3.3}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.3.4}Definition of Done}{50}{subsubsection.6.2.3.4}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.3.5}Statistiche}{50}{subsubsection.6.2.3.5}%
|
||
|
\contentsline {paragraph}{Burndown chart}{50}{paragraph*.28}%
|
||
|
\contentsline {paragraph}{Gitinspector}{50}{paragraph*.29}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.3.6}Sprint Retrospective}{51}{subsubsection.6.2.3.6}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.3.7}Sprint Review}{51}{subsubsection.6.2.3.7}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.3.8}Registro attività}{51}{subsubsection.6.2.3.8}%
|
||
|
\contentsline {paragraph}{Riunioni collettive}{51}{paragraph*.30}%
|
||
|
\contentsline {paragraph}{Attività individuali}{51}{paragraph*.31}%
|
||
|
\contentsline {subparagraph}{Stefano Goldoni}{51}{subparagraph*.32}%
|
||
|
\contentsline {subparagraph}{Flavia Cocca}{52}{subparagraph*.33}%
|
||
|
\contentsline {subparagraph}{Stefano Pigozzi}{52}{subparagraph*.34}%
|
||
|
\contentsline {subparagraph}{Chiara Calzolari}{53}{subparagraph*.35}%
|
||
|
\contentsline {subparagraph}{Giovanni Anniballi}{53}{subparagraph*.36}%
|
||
|
\contentsline {subparagraph}{Giorgio Minoccari}{54}{subparagraph*.37}%
|
||
|
\contentsline {subparagraph}{Lorenzo Balugani}{54}{subparagraph*.38}%
|
||
|
\contentsline {subsection}{\numberline {6.2.4}Sprint 3: 17 Mag \sphinxhyphen {} 30 Mag}{54}{subsection.6.2.4}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.4.1}Consegna}{54}{subsubsection.6.2.4.1}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.4.2}Goal}{54}{subsubsection.6.2.4.2}%
|
||
|
\contentsline {paragraph}{Backlog}{55}{paragraph*.39}%
|
||
|
\contentsline {paragraph}{Task completati}{56}{paragraph*.40}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.4.3}Grooming session}{56}{subsubsection.6.2.4.3}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.4.4}Definition of Ready}{57}{subsubsection.6.2.4.4}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.4.5}Definition of Done}{57}{subsubsection.6.2.4.5}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.4.6}Statistiche}{57}{subsubsection.6.2.4.6}%
|
||
|
\contentsline {paragraph}{Gitinspector}{57}{paragraph*.41}%
|
||
|
\contentsline {paragraph}{Schermata finale di SonarQube}{57}{paragraph*.42}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.4.7}Final Retrospective}{57}{subsubsection.6.2.4.7}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.4.8}Demo}{58}{subsubsection.6.2.4.8}%
|
||
|
\contentsline {subsubsection}{\numberline {6.2.4.9}Registro attività}{58}{subsubsection.6.2.4.9}%
|
||
|
\contentsline {paragraph}{Riunioni collettive}{58}{paragraph*.43}%
|
||
|
\contentsline {paragraph}{Attività individuali}{58}{paragraph*.44}%
|
||
|
\contentsline {subparagraph}{Stefano Goldoni}{58}{subparagraph*.45}%
|
||
|
\contentsline {subparagraph}{Flavia Cocca}{58}{subparagraph*.46}%
|
||
|
\contentsline {subparagraph}{Chiara Calzolari}{59}{subparagraph*.47}%
|
||
|
\contentsline {subparagraph}{Stefano Pigozzi}{59}{subparagraph*.48}%
|
||
|
\contentsline {subparagraph}{Giovanni Anniballi}{60}{subparagraph*.49}%
|
||
|
\contentsline {subparagraph}{Giorgio Minoccari}{60}{subparagraph*.50}%
|
||
|
\contentsline {subparagraph}{Lorenzo Balugani}{61}{subparagraph*.51}%
|
||
|
\contentsline {section}{\numberline {6.3}Burndown chart complessiva}{61}{section.6.3}%
|
||
|
\contentsline {chapter}{\numberline {7}Artefatti}{63}{chapter.7}%
|
||
|
\contentsline {section}{\numberline {7.1}Diagrammi UML}{63}{section.7.1}%
|
||
|
\contentsline {section}{\numberline {7.2}Demo}{63}{section.7.2}%
|
||
|
\contentsline {subsection}{\numberline {7.2.1}Video}{63}{subsection.7.2.1}%
|
||
|
\contentsline {subsection}{\numberline {7.2.2}Interattiva}{64}{subsection.7.2.2}%
|
||
|
\contentsline {chapter}{\numberline {8}Conclusioni}{65}{chapter.8}%
|
||
|
\contentsline {chapter}{\numberline {9}Suggerimenti relativi al corso}{67}{chapter.9}%
|
||
|
\contentsline {chapter}{\numberline {10}Meta\sphinxhyphen {}documentazione}{69}{chapter.10}%
|
||
|
\contentsline {section}{\numberline {10.1}Compilazione con IntelliJ IDEA}{69}{section.10.1}%
|
||
|
\contentsline {section}{\numberline {10.2}Compilazione con GNU Make}{69}{section.10.2}%
|
||
|
\contentsline {section}{\numberline {10.3}Compilazione con Windows Powershell}{70}{section.10.3}%
|
||
|
\contentsline {chapter}{\numberline {11}Struttura del database}{71}{chapter.11}%
|
||
|
\contentsline {chapter}{\numberline {12}\sphinxstyleliteralintitle {\sphinxupquote {nest\_backend}} \sphinxhyphen {} Web API in Python}{75}{chapter.12}%
|
||
|
\contentsline {section}{\numberline {12.1}\sphinxstyleliteralintitle {\sphinxupquote {.gestione}} \sphinxhyphen {} Metodi di utility}{75}{section.12.1}%
|
||
|
\contentsline {section}{\numberline {12.2}\sphinxstyleliteralintitle {\sphinxupquote {.database}} \sphinxhyphen {} Database}{76}{section.12.2}%
|
||
|
\contentsline {subsection}{\numberline {12.2.1}\sphinxstyleliteralintitle {\sphinxupquote {.base}} \sphinxhyphen {} Estensione flask}{76}{subsection.12.2.1}%
|
||
|
\contentsline {subsection}{\numberline {12.2.2}\sphinxstyleliteralintitle {\sphinxupquote {.tables}} \sphinxhyphen {} Tabelle}{76}{subsection.12.2.2}%
|
||
|
\contentsline {section}{\numberline {12.3}\sphinxstyleliteralintitle {\sphinxupquote {.routes}} \sphinxhyphen {} Percorsi API}{80}{section.12.3}%
|
||
|
\contentsline {chapter}{\numberline {13}\sphinxstyleliteralintitle {\sphinxupquote {nest\_crawler}} \sphinxhyphen {} Crawler in Python}{81}{chapter.13}%
|
||
|
\contentsline {chapter}{\numberline {14}\sphinxstyleliteralintitle {\sphinxupquote {nest\_frontend}} \sphinxhyphen {} Interfaccia utente in React}{83}{chapter.14}%
|
||
|
\contentsline {section}{\numberline {14.1}\sphinxstyleliteralintitle {\sphinxupquote {.objects}} \sphinxhyphen {} Oggetti vari di utility}{83}{section.14.1}%
|
||
|
\contentsline {chapter}{\numberline {15}Altri collegamenti}{85}{chapter.15}%
|
||
|
\contentsline {chapter}{Indice del modulo Python}{87}{section*.208}%
|
||
|
\contentsline {chapter}{Indice}{89}{section*.209}%
|