Skip to content

progettordc/MyShot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Info sul Progetto

  1. Scopo del progetto:

    Il progetto è stato concepito per supplire alla mancanza di una piattaforma che aiutasse i Medici di Base a gestire le prenotazioni per i vaccini anti Covid-19. Si suddivide in un’interfaccia per il medico e un’interfaccia per i pazienti, oltre a fornire delle API REST.

    • L’interfaccia del medico, accessibile tramite login, consente di: visualizzare le prenotazioni effettuate, autorizzare un nuovo codice fiscale a prenotare, inserire nuove disponibilità in calendario, inviarsi l’elenco delle prenotazioni effettuate tramite Telegram
    • L’interfaccia del paziente consente di: prenotare un nuovo appuntamento (se autorizzati) in uno slot temporale disponibile, visualizzare la propria prenotazione, ricevere la conferma via mail o tramite Telegram, stampare o scaricare il pdf della ricevuta, inserire l’appuntamento nel proprio calendario google
    • Sono fornite 4 API REST, documentate tramite apiDoc, che consentono di: richiedere l’elenco dei pazienti registrati o le informazioni riguardo un paziente specifico, richiedere l’elenco delle prenotazioni effettuate o le informazioni riguardo una prenotazione specifica, inserire una nuova disponibilità in calendario, esportare i file di log

  2. Architetture di riferimento e tecnologie usate:

    • Server web Nginx
    • Application server NodeJS
    • Database non relazionale CouchDB
    • Database relazionale PostgresSQL
    • Message broker RabbitMQ
    • Interprete PHP
    • Programmazione lato client: HTML, CSS (+ bootstrap), JavaScript (+ JQuery)
    • SSL per rendere criptata la comunicazione fra client e web server
    • File .yml per la configurazione dei container Docker

  3. Soddisfacimento dei requisiti:

    • Vengono offerte 4 API REST. La documentazione è accessibile dalla Home Page del sito
    • Il server NodeJS si interfaccia con servizi REST offerti da: GitHub, Telegram, Google Calendar (tramite OAuth)
    • Si utilizza AMQP come protocollo asincrono per la gestione dei log

  4. Istruzioni per l'installazione:

    Per il corretto funzionamento dell’applicazione sono necessari Docker e Docker Compose sulla propria macchina. Per l’installazione clonare la repository GitHub, aprire un terminale nella directory “Docker” del progetto e usare il comando   $ docker-compose up -d

    Attenzione! Per un corretto funzionamento potrebbe essere necessario importare il certificato cert.crt all'interno del proprio browser

  5. Per effettuare un test si possono eseguire le seguenti operazioni:

    • Collegarsi tramite un browser all'indirizzo https://localhost
    • Effettuare il login nella pagina del medico con le seguenti credenziali: username medico@gmail.com, password passwordmedico
    • Aggiungere il proprio codice fiscale nella sezione apposita
    • Aggiungere uno slot temporale in cui si desidera prenotare
    • Effettuare il logout dalla pagina del medico
    • Nella Home Page si può ora effettuare una prenotazione come pazienti: è necessario inserire il proprio codice fiscale, il proprio nome e cognome e la propria mail
    • Per proseguire bisogna verificare la propria mail cliccando sul link ricevuto (dopo aver controllato la correttezza dei dati)
    • Si viene reindirizzati quindi alla pagina di prenotazione nella quale scegliere uno slot temporale
    • Infine viene visualizzata la pagina di conferma in cui è possibile stampare la prenotazione, scaricare il PDF, inserire l’appuntamento nel proprio calendario google e seguire le istruzioni per ricevere la prenotazione su Telegram
    • Una ricevuta di prenotazione viene inviata in automatico alla mail inserita in fase di registrazione
    • Dalla Home Page si può ora accedere nuovamente nella pagina del medico per visualizzare la propria prenotazione nell’elenco e per far ricevere al medico l’elenco delle prenotazioni su Telegram
    • Inserendo nuovamente nella Home Page gli stessi dati usati in fase di prenotazione, è possibile essere reindirizzati nuovamente alla pagina di conferma
    • Nella pagina di documentazione delle API sono inserite le informazioni per testarle. Il token per autenticarsi è: token

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •