mirror of
https://github.com/pds-nest/nest.git
synced 2024-11-21 20:44:18 +00:00
🗒 Aggiungi analisi del database e glossario
Co-authored-by: Lorenzo Balugani <256867@studenti.unimore.it>
This commit is contained in:
parent
4077759640
commit
f1defd1564
2 changed files with 119 additions and 0 deletions
103
doc/database-analysis.md
Normal file
103
doc/database-analysis.md
Normal file
|
@ -0,0 +1,103 @@
|
|||
# Analisi del database
|
||||
|
||||
## Glossario generale
|
||||
|
||||
> [Vedi `glossary.md`](/doc/glossary.md)
|
||||
|
||||
|
||||
## Glossario specifico
|
||||
|
||||
| Entità | Attributi | Interazioni |
|
||||
|-------------------|-------------------------------------------------------|-----------------------------|
|
||||
| **User** | email, username, password | Repository |
|
||||
| **Repository** | id, name, start, end, status | User, Tweet, Alert, Keyword |
|
||||
| **Tweet** | snowflake, content, location, poster | Repository |
|
||||
| **Condition** | id, type, param | BoolOperation |
|
||||
| **BoolOperation** | id, operation, condition_id, alert_id, node_1, node_2 | |
|
||||
| **Alert** | id, repository_id, name, limit, window_size | |
|
||||
|
||||
|
||||
## Elementi
|
||||
|
||||
### User
|
||||
|
||||
> Username: Steffo
|
||||
> Email: ste.pigozzi@gmail.com
|
||||
> Password: ···········
|
||||
|
||||
L'utilizzatore della piattaforma, colui che ha accesso ai dati.
|
||||
|
||||
L'utente possiede una `email` per ricevere gli [Alert](#alert), una `password` per accedere al servizio e un `username`
|
||||
per essere più facilmente riconoscibile.
|
||||
|
||||
Un utente può avere più [Repository](#repository) sotto il suo controllo.
|
||||
|
||||
|
||||
### Repository
|
||||
|
||||
> Repository "Modena e dintorni"
|
||||
|
||||
Un insieme di [Tweet](#tweet) che soddisfano una o più [Condition](#condition).
|
||||
|
||||
Ha un proprietario che può cambiarne le impostazioni, ma possono essere visibili a più [Users](#user).
|
||||
|
||||
Un repository può avere diversi [Alert](#alert).
|
||||
|
||||
|
||||
### Tweet
|
||||
|
||||
> Tweet di @USteffo:
|
||||
> "Testo di sopra #PdS2021"
|
||||
|
||||
Un post su Twitter, che viene salvato su NEST se soddisfa le [Condition](#condition)
|
||||
richieste da uno o più [Repository](#repository).
|
||||
|
||||
I Tweet sono identificati da un particolare tipo di identificatore chiamato `snowflake`.
|
||||
|
||||
Contiene informazioni relative al `poster` del tweet, il suo `content` e opzionalmente informazioni sulla `location`
|
||||
in cui è stato scritto.
|
||||
|
||||
|
||||
### Condition
|
||||
|
||||
> Tweet contenenti #PdS2021
|
||||
|
||||
> Tweet postati a Modena
|
||||
|
||||
> Tweet postati tra le 21:00 e le 23:00 del 15 Aprile
|
||||
|
||||
Un predicato usato per effettuare ricerca e filtraggio di [Tweet](#tweet).
|
||||
|
||||
Può essere di diversi tipi:
|
||||
- `HASHTAG`: richiede che un tweet contenga un determinato hashtag
|
||||
- `LOCATION`: richiede che un tweet venga inviato in una specifica location
|
||||
- `TIME`: richiede che un tweet venga inviato in un dato lasso di tempo
|
||||
|
||||
Viene utilizzato all'interno di [Repository](#repository) e [Alert](#alert) per definire le condizioni in cui catturare
|
||||
tweet o allertare l'utente.
|
||||
|
||||
È possibile unire più condizioni con una o più [BoolOperation](#booloperation).
|
||||
|
||||
|
||||
### BoolOperation
|
||||
|
||||
> Tweet contenenti #Modena **OR** Tweet postati a Modena
|
||||
|
||||
> Tweet postati tra le 21:00 e le 23:00 del 15 Aprile **AND** Tweet contenenti #PdS2021
|
||||
|
||||
Un nodo di albero binario usato per combinare più [Condition](#condition).
|
||||
|
||||
Le foglie fanno riferimento a una [Condition](#condition), mentre i rami fanno riferimento ad altre
|
||||
[BoolOperation](#booloperation).
|
||||
|
||||
Supporta le seguenti operazioni:
|
||||
- `AND`: intersezione
|
||||
- `OR`: unione
|
||||
|
||||
|
||||
### Alert
|
||||
|
||||
Un elemento di un [Repository](#repository) a cui è legata una [BoolOperation](#booloperation).
|
||||
|
||||
Se i [Tweet](#tweet) di un [Repository](#repository) che rispettano la [BoolOperation](#booloperation) superano un certo
|
||||
`limit` in un lasso di tempo, si attiva e notifica l'utente.
|
16
doc/glossary.md
Normal file
16
doc/glossary.md
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Glossario
|
||||
|
||||
<!-- http://markdowntable.com/ -->
|
||||
|
||||
| Termine | Sinonimi | Descrizione |
|
||||
|----------------|----------------------------|----------------------------------------------------------------------------------|
|
||||
| **NEST** | Software, Piattaforma | **N**oi **R**accogliamo **S**tatistiche **T**weet, il software sviluppato. |
|
||||
| **User** | Utente | Un utilizzatore di NEST. |
|
||||
| **Repository** | Raccolta, Ricerca | Un insieme di tweet che soddisfano una o più condizioni. |
|
||||
| **Tweet** | Post | Un messaggio inferiore ai 280 caratteri pubblicato su Twitter. |
|
||||
| **Condition** | Hashtag, Posizione, Orario | Predicato utilizzato per selezionare insiemi di Tweet. |
|
||||
| **Alert** | Allarme, Trigger | Impostazione che notifica un utente quando un certo requisito viene soddisfatto. |
|
||||
|
||||
## Glossario del database
|
||||
|
||||
> [Vedi `database-analysis.md`](database-analysis.md#glossario-specifico).
|
Loading…
Reference in a new issue