1
Fork 0
mirror of https://github.com/pds-nest/nest.git synced 2024-11-22 21:14:18 +00:00
pds-2021-g2-nest/code/backend
2021-05-02 23:56:29 +02:00
..
docs Add sphinx docs 2021-04-26 18:14:53 +02:00
nest_backend Aggiunti test per luogo, data e un filtro combinato 2021-05-02 23:56:29 +02:00
.gitignore gitignore 2021-04-29 00:03:10 +02:00
backend.iml 🔨 Mark test as test sources root 2021-04-29 03:45:55 +02:00
howToSphinx.md Add sphinx docs 2021-04-26 18:14:53 +02:00
poetry.lock Modificato nelle dipendenze psycopg2 in psycopg2-binary per compatibilita' in ambiente mac 2021-04-27 17:16:36 +02:00
pyproject.toml ↪ Use psycopg2-binary instead of psycopg2 2021-04-26 19:59:24 +02:00
README.md Uniformed json output 2021-04-26 16:26:25 +02:00

nest_backend

Un server WSGI in Flask che fornisce una web API per interfacciarsi a N.E.S.T.

Requisiti

Per eseguire nest_backend, è necessario avere installato:

Installazione

Per installare le dipendenze del backend, è necessario eseguire in questa cartella:

poetry install

Questo creerà un nuovo venv nelle cartelle interne di Poetry e vi installerà all'interno le dipendenze necessarie.

Configurazione

Configurazione del Database

Dopo aver installato Postgres, è necessario creare un database dedicato all'applicazione (ad esempio PdSTest).
Se si desidera, si può anche creare un utente dedicato (l'utente postgres di default va benissimo).
Per configurare l'URI del database che N.E.S.T. andrà a impiegare, è necessario eseguire

export DATABASE_URI=postgresql://[postgresUser]:[postgresPassword]@localhost:[port, default 5432]/[DatabaseName]

Ora il database è pronto per l'uso.

Altre variabili d'ambiente

Questo ultimo passaggio è importante solo in un ambiente non-dev. La configurazione andrà a valore di default nel caso in cui queste variabili non siano definite.
Per terminare la configurazione, eseguire:

export COOKIE_SECRET=[cookiepass]
export JWT_SECRET_KEY=[jwtsecret]
export DISABLE_DEBUG=[farts]

Queste due variabili d'ambiente conterranno le chiavi con cui i cookie e le key di autorizzazione JWT saranno cifrate.

Avvio

Per avviare il backend, è innanzitutto necessario attivare il venv contenente le dipendenze con il seguente comando:

poetry shell

In seguito, è possibile avviare il backend con:

python -m nest_backend

Sviluppo

Le pagine web del server sono disponibili a http://127.0.0.1:5000 .

Mentre il development server è avviato, buona parte delle modifiche saranno rilevate e applicate automaticamente senza dover riavviare il server. Per testare la connettività, visitare http://127.0.0.1:5000/doa.

Deployment

Per effettuare il deployment in production, seguire la guida ufficiale di Flask.