Skip to content

Commit

Permalink
Merge pull request #1 from qb-team/develop
Browse files Browse the repository at this point in the history
Rilascio per RQ
  • Loading branch information
TommasoAzz committed Jun 8, 2020
2 parents 67236da + 8e326bb commit 9b0fb51
Show file tree
Hide file tree
Showing 39 changed files with 671 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
version: 2
mkdocs:
configuration: mkdocs.yml
python:
version: 3.8
install:
- requirements: requirements.txt
# - method: setuptools
# path: lightgallery-markdown
Binary file added docs/Immagini/app/DrawerMenu.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/app/HamburgerButton.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/app/ListaOrg.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/app/MyStalkersList.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/app/PaginaOrg.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/app/PermessiTracciamento.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/app/RicercaOrg.PNG
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/app/ScaricaListaOrg.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/qbteam.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/web-app/Home.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/web-app/Reset1.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/web-app/Reset2.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/web-app/Tracciamento.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/web-app/infGen.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/web-app/login.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/web-app/logout.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/web-app/mappa.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/Immagini/web-app/selezione.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
129 changes: 129 additions & 0 deletions docs/app/funzionalita.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# 2.1 Funzionalità dell'applicazione per utenti

L'applicazione Android viene utilizzata dagli utenti che devono o vogliono fare in modo che i loro movimenti di ingresso e uscita dalle organizzazioni e dai loro luoghi vengano tracciati. Il movimento viene tracciato solo dal punto di vista dell'orario e dell'utenza presso l'organizzazione.

All'utente dell'applicazione vengono offerte le funzionalità indicate in questa pagina.

## 2.1.1 Registrazione

<iframe width="720" src="https://www.youtube.com/embed/t_jtcHEzhFw" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

L'utente ha la possibilità di registrarsi inserendo la propria e-mail personale, password e accettando le condizioni d'uso di Stalker.

## 2.1.2 Login e scaricamento della lista delle organizzazioni

<iframe width="720" src="https://www.youtube.com/embed/YPHun6qWReo" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

L'utente può autenticarsi inserendo il proprio indirizzo e-mail e la propria password.
Al primo accesso alla applicazione da parte dell'utente, verrà mostrato un pop-up per richiedere la possibilità di scaricare la lista delle organizzazioni dal server di Stalker. Gli utenti avranno la possibilità di accettare o rifiutare la proposta.

## 2.1.3 Menù drawer

L'utente può accedere ad una serie di funzionalità utilizzando l'*Hamburger button* riportato in alto a sinistra della schermata dell'applicazione.

![!Hamburger button](../Immagini/app/HamburgerButton.png)
<figcaption align="center"> <em> Hamburger button </em> </figcaption>

Una volta cliccato su questo bottone apparirà il menù drawer, da cui è possibile accedere alle seguenti funzionalità:

- Attivare o disattivare il tracciamento tramite uno pulsante switch;
- Eseguire il logout;
- Ordinare alfabeticamente la lista delle organizzazioni.

![!Menù drawer](../Immagini/app/DrawerMenu.png)
<figcaption align="center"> <em> Menù drawer </em> </figcaption>

## 2.1.4 Logout

<iframe width="720" src="https://www.youtube.com/embed/Rw4QFxDUisU" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

L'utente può eseguire il logout aprendo il menù drawer e poi cliccando su "Logout".

## 2.1.5 Scaricamento della lista delle organizzazioni

![!Schermata di scaricamento della lista delle organizzazioni](../Immagini/app/ScaricaListaOrg.png)
<figcaption align="center"> <em> Pop-up scaricamento lista organizzazione </em> </figcaption>

L'utente per poter visualizzare la lista di tutte le organizzazioni disponibili in Stalker dovrà prima scaricarla. Una volta richiesto lo scaricamento, se dovesse decidere di annullarlo o se venisse a mancare la connessione ad Internet, apparirà nella schermata principale un tasto per ritentare l'operazione.

## 2.1.6 Lista delle organizzazioni

![!Lista delle organizzazioni](../Immagini/app/ListaOrg.png)
<figcaption align="center"> <em> Lista organizzazioni </em> </figcaption>

In questa sezione vi sono tutte le organizzazioni scaricate dal server.

## 2.1.7 Aggiornamento lista delle organizzazioni

<iframe width="720" src="https://www.youtube.com/embed/cPhIBJBg2pY" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

L'utente può aggiornare la lista delle organizzazioni eseguendo uno *swipe down* nella schermata principale.

## 2.1.8 MyStalkersList(organizzazioni preferite)

![!MyStalkersList](../Immagini/app/MyStalkersList.png)
<figcaption align="center"> <em> MyStalkersList </em> </figcaption>

In questa sezione vi sono tutte le organizzazioni da cui l'utente ha scelto di essere tracciato.

## 2.1.9 Ordinamento alfabetico della lista delle organizzazioni

<iframe width="720" src="https://www.youtube.com/embed/4z8e3ciX33g" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

L'utente può eseguire l'ordinamento alfabetico della lista delle organizzazioni aprendo il menù drawer e poi cliccando su "Ordinamento Alfabetico".

## 2.1.10 Ricerca

![!Ricerca organizzazioni](../Immagini/app/RicercaOrg.PNG)
<figcaption align="center"> <em> Ricerca organizzazione </em> </figcaption>

In alto è situata la barra principale dell'applicazione e vi è una sezione di ricerca. Con essa è possibile eseguire ricerche testuali per filtrare e visualizzare la lista delle organizzazioni.

## 2.1.11 Visualizzazione pagina organizzazione

![!Pagina organizzazione](../Immagini/app/PaginaOrg.png)
<figcaption align="center"> <em> Pagina dedicata all'organizzazione </em> </figcaption>

L'utente può entrare nella pagina dedicata di un'organizzazione cliccando l'elemento della lista ad essa appartenente. Al suo interno è possibile visualizzare il nome dell'organizzazione, l'immagine di anteprima, una descrizione e un pulsante `Autenticati` qualora l'organizzazione richiesse un'autenticazione aziendale tramite LDAP.

## 2.1.12 Aggiunta organizzazione in MyStalkersList

<iframe width="720" src="https://www.youtube.com/embed/D4_vzmNqs-4" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Tramite un tap prolungato sull'elemento della lista delle organizzazione, apparirà un pop-up che permetterà di aggiungere l'organizzazione selezionata a MyStalkersList. Qualora l'organizzazione richiesse un'autenticazione presso l'organizzazione (tramite LDAP) allora con il pop-up sarà possibile visualizzarne solamente il contenuto.

## 2.1.13 Autenticazione presso l'organizzazione LDAP e aggiunta di un'organizzazione che richiede tracciamento autenticato in MyStalkersList

<iframe width="720" src="https://www.youtube.com/embed/Qo5BAUyBx0g" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

L'utente per poter aggiungere a MyStalkerList un'organizzazione che richiede tracciamento autenticato, dovrà prima accedere alla rispettiva pagina dedicata autenticandosi tramite le proprie credenziali LDAP. Qualora l'autenticazione avvenisse con successo, l'organizzazione verrà aggiunta a MyStalkersList.

## 2.1.14 Eliminazione organizzazione da MyStalkersList

<iframe width="720" src="https://www.youtube.com/embed/Uz0xGepIdYs" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Tramite un tap prolungato sull'elemento di MyStalkersList, apparirà un pop-up che permetterà rimuovere l'organizzazione dalla lista.

## 2.1.15 Attivazione tracciamento

<iframe width="720" src="https://www.youtube.com/embed/Lvfcnkc-trg" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

La funzionalità del tracciamento sarà possibile attivarla attraverso lo switch collocato nel menù del drawer . Una volta attavita tale funzionalità, l'utente passa in modalità di tracciamento anonimo (per cui il tracciamento presso le organizzazioni di MyStalkersList è solo di tipo anonimo per entrambi i tipi delle organizzazioni).

La prima volta che si utilizza questa funzionalità sul dispositivo viene visualizzato un pop-up in cui l'utente dovrà accettare la richiesta del sistema per poter accedere alle funzionalità di geolocalizzazione del dispositivo.

![!Permessi tracciamento](../Immagini/app/PermessiTracciamento.png)
<figcaption align="center"> <em> Pop-up di accettazione permessi per il tracciamento </em> </figcaption>

## 2.1.16 Tracciamento

<iframe width="720" src="https://www.youtube.com/embed/YAfcW1RyUL8" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

La funzionalità di tracciamento consente all'utente di tracciare gli ingressi e le uscite presso le organizzazioni e presso i loro luoghi. Il tracciamento, come già detto, avviene solamente per le organizzazioni presenti in MyStalkersList. Qualora l'organizzazione richiedesse l'autenticazione con credenziali dell'organizzazione (LDAP) allora è possibile cambiare, tramite uno switch presente nella pagina dell'organizzazione, la tipologia di tracciamento da anonimo (default) ad autenticato (e viceversa). La modalità di tracciamento autenticato permette alle organizzazioni di visualizzare a posteriori gli accessi (insieme di un ingresso e un'uscita da un'organizzazione o luogo) degli utenti che le hanno aggiunte a MyStalkersList.

## 2.1.17 Tracciamento in background

<iframe width="720" src="https://www.youtube.com/embed/c_spUnOrv9s" frameborder="0" style="height: 540px" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

Se il tracciamento è attivo e si esce dall'applicazione, queat'ultima continuerà a funzionare passando alla modalità di tracciamento in background. È possibile notare sulla barra delle notifiche di Android un'area dedicata all'applicazione Stalker tramite la quale sarà posssibile riaprire l'applicazione.
Scegliendo di interrompere il tracciamento l'applicazione verrà chiusa definitivamente.
Empty file added docs/app/installazione.md
Empty file.
156 changes: 156 additions & 0 deletions docs/glossario.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
# Glossario
## A
### Accesso
Per accesso si intende l'azione fisica di ingresso-uscita nei luoghi dell'organizzazione che viene effettuata dall'utente.

### Amministratore
Ha l'incarico di controllare l'efficienza dell'ambiente di lavoro e di gestire tutti i documenti relativi al progetto. Si occupa, inoltre, della configurazione e versionamento del prodotto.

### Applicazione web
Una applicazione distribuita web-based cioè fruibile via web per mezzo di un network, come Internet, che offre determinati servizi all'utente che la utilizza. Le applicazioni web a differenza delle altre applicazioni non necessitano di venire installate.

### Autenticazione
È l’azione che conferma la verità di un attributo di un singolo dato o di un’informazione sostenuta vera da un’entità. In informatica è un processo nella quale un computer, sistema informatico o un utente verifica la corretta identità di un altro software, computer o utente che vuole comunicare attraverso una connessione, autorizzandolo ad utilizzare eventuali servizi associati.

## B

### Backend (server)
Sono delle interfacce che hanno come destinatario un programma. Una applicazione back end è un programma con il quale l'utente interagisce indirettamente. In una struttura client/server il back end è il server.

<!-- ## C -->

## D

### Dashboard
È un tipo di interfaccia utente grafica che mostra informazioni generiche ed è caratterizzata dalla facilità di lettura ed immediatezza, consentendo al management di agire tempestivamente prendendo decisioni corrette.

### Dati dell'organizzazione
È un sottoinsieme dei parametri dell'organizzazione, nel quale vengono esclusi il perimetro di tracciamento dell'organizzazione e l'insieme di luoghi di tracciamento.

<!-- ## E -->

<!-- ## F -->

## G

### Geolocalizzazione
Processo che permette l'individuazione geografica del luogo in cui si trova un determinato oggetto attraverso l'uso di apparecchiature in grado di trasmettere segnali a un satellite.

### Global Positioning System (GPS)
È un sistema di posizionamento e navigazione satellitare. Attraverso una rete dedicata di satelliti artificiali in orbita, fornisce a un terminale mobile o ricevitore GPS informazioni sulle sue coordinate geografiche e sul suo orario in ogni posto sulla Terra dove vi sia un contatto privo di ostacoli con almeno quattro satelliti del sistema.

## I

### Indirizzo IP
È un'etichetta numerica che identifica univocamente una macchina collegata ad una rete informatica che utilizza l'Internet Protocol come protocollo di rete per l'instradamento.

### Ingresso
Per ingresso presso un luogo di un'organizzazione si intende l'attività di spostamento fisico in cui un'utente passa da una posizione geografica non soggetta a tracciamento ad una interna ad un perimetro che delimita un luogo soggetto a tracciamento.

### Interfaccia grafica (GUI, Graphical User Interface)
È un tipo di interfaccia utente che consente l'interazione uomo-macchina in modo visuale utilizzando rappresentazioni grafiche piuttosto che riga di comando.

### Interfaccia web
È un'interfaccia che permette la visualizzazione di siti internet adeguando il computer alle necessità di interazione dell'utente, codificando e decodificando il linguaggio di programmazione e di demarcazione utilizzato nel web.

<!-- ## J -->

<!-- ## K -->

## L

### Lightweight Directory Access Protocol (LDAP)
È un protocollo standard per l'interrogazione e la modifica dei servizi di directory. Le informazioni vengono raggruppate e possono essere espresse come record di dati ed organizzate in maniera gerarchica.

### Lista degli accessi
Detta anche "storico degli accessi", contiene una lista degli ingressi o uscite che sono stati fatti dall'utente tracciato nei luoghi dell'organizzazione o più in generale nell'organizzazione. Essa contiene informazioni relative al luogo e all'organizzazione dove e avvenuto l'accesso, la data e l'ora è infine il tempo trascorso all'interno.

### Lista delle organizzazioni
Si intende un insieme di tutte le organizzazioni che utilizzano il servizio Stalker per tracciare le presenze delle persone all’interno dei propri luoghi, in tale lista ci saranno salvate le informazioni generali di ogni organizzazione.

### Lista delle organizzazioni preferite
Contiene una lista delle organizzazioni che l'utente ha deciso di inserire tra le sue preferite.

### Login
Procedura di accesso effettuata dall'utente o dall'amministratore per accedere alla applicazione nel caso dell'utente, al Server nel caso dell'amministratore.

### Logout
Procedura di uscita effettuata dal utente o dall'amministratore per uscire dell'applicazione nel caso dell'utente o dal Server nel caso dell'amministratore.

### Luogo di tracciamento
Identifica una superficie di estensione contenuta locata geograficamente all'interno del perimetro di tracciamento dell'organizzazione. Un luogo non può fuoriuscire dal perimetro di tracciamento dell'organizzazione. Ciascun luogo è riconducibile ad una organizzazione.

## M

### Modalità di tracciamento anonimo
È una specifica progettuale che da la possibilità all’utente che usufruisce dell’applicazione di essere tracciato all'interno dei luoghi dell'organizzazione ma nascondendo la sua identità fisica (nome, cognome e altri dati personali reali) al servizio. Per poter riconoscere la presenza dell'utente all'interno del luogo, sarà associato un codice univoco che non identifica in alcun modo la sua identità fisica ma solo la sua presenza.

### Modalità di tracciamento autenticato
È una specifica progettuale che da la possibilità all’utente che usufruisce dell’applicazione di essere tracciato all'interno dei luoghi dell'organizzazione. Questa modalità riconosce l'identità fisica dell'utente tracciato (nome, cognome e altri dati personali reali).

### Movimento
Per movimento si intende una azione fisica di ingresso o di uscita nei luoghi dell'organizzazione che viene effettuata dall'utente.

## N

### Numero progressivo
È un numero identificativo che viene assegnato in maniera univoca per distinguere un esemplare di una serie.

## O

### Ordinamento per data (crescente)
Considerando una data maggiore di un'altra più recente, si intende che, dato un insieme di date (possibilmente con elementi ripetuti), una data meno recente precede una più recente.

### Ordinamento per data (decrescente)
Considerando una data maggiore di un'altra più recente si intende che, dato un insieme di date (possibilmente con elementi ripetuti), una data più recente precede una meno recente.

### Organizzazione
Soggetto che ha interesse a tracciare le presenze delle persone all’interno dei propri luoghi, in maniera anonima o autenticata. Ogni organizzazione ha associato un proprio nome e il nome e l'indirizzo dei vari luoghi appartenenti a essa.

### Organizzazione preferita
Identifica un'organizzazione che è stata inserita all'interno della lista dei preferiti dall'utente.

## P

### Parametri (dell'organizzazione)
Con parametri dell'organizzazione si intende l'insieme di: nome dell'organizzazione, immagine dell'organizzazione, descrizione dell'organizzazione, indirizzo dell'organizzazione, perimetro di tracciamento dell'organizzazione, l'insieme di luoghi di tracciamento.

### Perimetro di tracciamento dell'organizzazione
È la superficie geografica dove gli utenti dell'applicazione verranno tracciati per l'organizzazione in questione.

### Privilegi
I privilegi sono fondamentalmente i vari tipi di amministratore. Il privilegio più basso è visualizzatore, poi gestore e infine proprietario.

## R

### Refresh manuale
L'utente di propria iniziativa invia una richiesta di aggiornamento della lista delle organizzazioni.

<!-- ## S -->

## T

### Temporizzazione
Si intende che periodicamente l'applicazione autonomamente invia una richiesta di aggiornamento della lista delle organizzazioni.

### Timestamp
È una sequenza di caratteri che indicano la data e l'orario di entrata/uscita di un qualsiasi utente che utilizza l'applicazione stalker e che fa parte di quella determinata organizzazione.

### Tracciamento
L'atto nella quale è avvenuta con successo il collegamento GPS tra dispositivo mobile munito dell'applicazione stalker e l'organizzazione. Questa funzione permette di tracciare gli spostamenti dell'utente all'interno dell'area dell'organizzazione.

## U

### Uscita
Per uscita da un luogo di un'organizzazione si intende l'attività di spostamento fisico in cui un'utente passa da una posizione geografica interna ad un perimetro che delimita un luogo soggetto a tracciamento ad una non soggetta a tracciamento.

### User Interface (UI)
È un'interfaccia uomo-macchina, ovvero ciò che si frappone tra una macchina e un utente, consentendone l'interazione reciproca.

## V

### Validazione
Accertamento che il prodotto realizzato sia esattamente conforme alle attese.

### Verifica
Accertamento che l'esecuzione delle attività di processi svolti nella fase in esame non causino errori.

0 comments on commit 9b0fb51

Please sign in to comment.