numeretti/pizzicore/README.md
2022-08-17 19:16:36 +02:00

48 lines
1,007 B
Markdown

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
```
apt install python3-fastapi python3-dotenv uvicorn
uvicorn pizzicore:app --reload --port 8000 --host 0.0.0.0
```
## TODO
* configurazione
* esempi d'uso