numeretti/pizzicore
2022-08-20 17:52:55 +02:00
..
pages vue fa meglio 2022-08-20 17:15:09 +02:00
static vue webui autodetects queue_num 2022-08-20 17:52:55 +02:00
.gitignore configuration sample 2022-08-17 19:27:47 +02:00
docker-compose.yaml counter is persisted 2021-09-16 02:36:00 +02:00
Dockerfile move to SSL encryption 2021-10-09 20:44:42 +02:00
pizzicore.env.sample password is a setting 2022-08-17 21:37:44 +02:00
pizzicore.py vue rewrite start 2022-08-20 16:48:26 +02:00
README.md configuration sample 2022-08-17 19:27:47 +02:00
requirements.txt websocket works 2021-09-16 02:28:46 +02:00

Componente centrale del sistema pizzicaroli. tiene i conti. espone HTTP e WebSocket.

Alcune API richiedono autenticazione.

Il docker incluso è solo per comodità di sviluppo, non è strettamente necessario.

Concetti

Contatori multipli

Il codice gestisce più di un contatore, per generalità, anche se non è chiaro se questa cosa ci servirà. I contatori partono da 0, quindi in genere useremo sempre 0.

Storage

Il sistema ha un suo storage, in modo che al riavvio i contatori ripartano da dove erano.

HTTP API

GET /counter/0 ti dà il valore

POST /counter/0/increment incrementa, ma richiede basic-auth

WebSocket API

/ws/counter/0 ti dà il valore e ti riaggiorna ogni volta che questo cambia. Ignora ogni messaggio in ingresso.

Lanciare

Docker compose

docker-compose up

Debian Bullseye

Just install a few packages from the standard repositories, and you're set. No pip, virtualenv, …

apt install python3-fastapi python3-dotenv uvicorn
env QUEUES_NUMBER=2 uvicorn pizzicore:app --reload --port 8000 --host 0.0.0.0

In the snippet above, you can see how to set variables on the commandline. See pizzicore.env.sample for a list of settings.

You can also create a pizzicore.env file (named exactly like that) as a configuration method.

Environment variables take precedence over configuration files.

TODO

  • configurazione
  • esempi d'uso