Skip to content

taba00/servizio-meteo-giuliacci

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Servizio Meteo "Giuliacci"

Realizzata da

logo_uni
Lorenzo Tabarrini
Matricola n° 301996

Descrizione del servizio implementato e del suo scopo

Il servizio meteo è stato sviluppato per fornire alcuni dati meteo di diverse città italiane.
I dati vengono caricati dal "gestore" e possono essere richiesti all' API Restful anche da un "utente" generico.
Lo scopo del servizio è quello di fornire i dati meteo al client.

Descrizione di architettura e scelte implementative

Il linguaggio di programmazione utilizzato si basa su Express di Node JS.
Il servzio, rispetta tutte le caratteristiche delle API Restful.
Per quanto riguarda l'autenticazione del client, si è deciso di utilizzare il JWT (JSON Web Token).
Le librerie utilizzate sono molteplici:

  • cookie-parser - E' stata utilizzata per usufruire dei cookie in fase di autenticazione.
  • js-sha256 - E' stata utilizzata per criptare le password tramite l'algoritmo SHA 256.
  • njwt - E' stata utilizzata per generare il JSON Web Token e firmare tutta la chiave.

Documentazione dell’API implementata

L'endpoint del servizio è il seguente: https://servizio-meteo-giuliacci.glitch.me/

Autenticazione:

POST login

Per effettuare l'autenticazione al servizio, è necessario essere registrati nel sistema.
L'autenticazione avviene tramite la Basic Auth.

Lista dettagliata API Restful con relativa documentazione

POST meteo

Rappresenta in formato JSON tutte le citta con i relativi dati meteo presenti nel servizio.

Il metodo non ha parametri da fornire al momento della richiesta HTTP.

Rappresenta in formato JSON la città richiesta tramite identificativo.

Campo Tipo Descrizione Obbligatorio
id integer id della città di cui si vogliono sapere i dati meteo Si

Rappresenta il metodo per aggiungere una nuova città al servizio.

La richiesta può essere effettuata solo dall'amministratore del servizio (in questo caso l'utente "gestore").

Nel body della richesta HTTP, il metodo accetta solo il tipo di contenuto application/json nel seguente formato:

{
   "citta":"nomeCitta",
   "temperatura":{
      "numero": "temperatura",
      "UM": "unitaDiMisura"
   },
   "fenomeniAtmosferici":"tipoDiFenomenoAtmosferico",
   "umidita":{
      "numero":"umidita",
      "UM":"unitaDiMisura"
   }
}

Elimina i dati meteo di una certa città tramite l'identificativo.

Campo Tipo Descrizione Obbligatorio
id integer id della città di cui si vogliono eliminare i dati meteo Si

Modifica un certo tipo di dato metereologico.

Campo Tipo Descrizione Obbligatorio
id integer id della città di cui si vogliono modificare i dati meteo Si
campo string nome del campo che si vuole modificare (Vedi la struttura di Campo) Si
nuovoValore integer, string nuovo valore da assegnare al campo indicato precedentemente Si

Campo

Sigla Campo
c citta
tn temperatura => numero
tum temperatura => UM
fa fenomeniAtmosferici
un umidita => numero
uum umidita => UM

Descrizione delle modalità della messa online del servizio

La messa online del servizio è stata possibile tramite l'applicativo online Glitch.

Esempio descrittivo di utilizzo del servizio Web

Alcuni esempi effettuati con il client Postman

Autenticazione:
login
Aggiunta della città con i relativi dati metereologici:
aggiungiCitta
Eliminazione di una città tramite l'identificativo della città:
eliminaCitta


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published