⚡ REST API · OpenAPI 3 · JWT

FoodManager
per sviluppatori

Integri FoodManager nella tua app web, mobile o nel tuo POS. REST + JSON, autenticazione JWT e una documentazione OpenAPI sempre allineata al codice.

Costruito con
  • Flask
  • flask-openapi3
  • SQLAlchemy
  • JWT
  • Hypercorn
  • SQLite
Risorse

40+ endpoint su 8 risorse

CRUD completo per ogni entità. Lo spec OpenAPI è la sorgente di verità sempre aggiornata.

Catalogo food

Plate, Drink, Ingredient e le categorie PlateCategory / DrinkCategory, con la relazione ingredienti‑piatto.

Utenti e gruppi

User e UserGroup con permessi granulari e isolamento dei dati per gruppo (multi‑tenant).

Auth & sicurezza

/login, /refresh, /logout con access/refresh token JWT e revoca via token version.

Esplora tutti gli endpoint su Swagger UI →

Quickstart

Parti in pochi minuti

Autenticati con POST /login, includi il token come Bearer nelle richieste successive e lavora sulle risorse.

  • Spec OpenAPI 3 sempre allineata al codice
  • Validazione automatica dei payload (Pydantic)
  • Codici d'errore coerenti su tutti gli endpoint
Apri Swagger UI
# 1) effettua il login
curl -X POST http://127.0.0.1:5000/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"••••"}'

# 2) elenca i piatti con il token ricevuto
curl http://127.0.0.1:5000/get_plates \
  -H "Authorization: Bearer <access_token>"
Dettagli tecnici

Cosa c'è sotto il cofano

🔐 JWT

Access e refresh token. Revoca al logout basata su token version sul DB, non su blacklist in memoria.

📑 OpenAPI 3

Spec e Swagger UI generate a runtime da flask-openapi3, a partire dai modelli Pydantic.

🏛️ Multi‑tenant

Ogni risorsa ha un group_id. Visibilità filtrata lato server; il gruppo root amministra tutto.

🎛️ Permessi granulari

Flag can_create / read / update / delete e ruolo is_admin per utente.

✅ Validazione

Payload validati con Pydantic: errori coerenti 422, contratto chiaro e documentato.

🚀 ASGI

Servito da Hypercorn; database SQLite di default, sostituibile con altri backend supportati da SQLAlchemy.

Vuoi vedere tutto il codice dell'integrazione? La documentazione interattiva è su /openapi/swagger.

Inizia a integrare oggi

Avvia il server in locale e apri la Swagger UI per esplorare ogni endpoint.