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