-
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
-
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
-
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
-
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 -dAttenzione! Per un corretto funzionamento potrebbe essere necessario importare il certificato cert.crt all'interno del proprio browser
-
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
-
Notifications
You must be signed in to change notification settings - Fork 2
progettordc/MyShot
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published