How lorenzopina-dev/gestione_dispensa works
Gestione_dispensa is a family-oriented pantry and grocery-management product. The user workflow spans sign-in and family access, product identification, pantry inventory and expiry tracking, shopping, recipes, nutrition, and notifications; privacy export/erasure are additional user-facing capabilities. The sampled API controllers show service delegation and authorization, and server composition shows PostgreSQL-backed setup. The README documents broader capabilities, but this tree and excerpts do not establish wiring for every service or UI journey, so uncertain links are omitted.
Main entry points: client.ts API client · postgres-client.ts PostgreSQL · workflow.ts Product catalog · App.tsx Web app
Components 20
Web experience
- Web app
apps/web/src/App.tsx - API client
apps/web/src/api/client.ts
API and domain
- Identity and access
apps/api/src/identity/oidc.ts - Family and invites
apps/api/src/family/service.ts - Product catalog
apps/api/src/catalog/workflow.ts - Barcode lookup
apps/api/src/catalog/external-barcode-client.ts - Pantry inventory
apps/api/src/inventory/service.ts - Expiry tracking
apps/api/src/shelf-life/service.ts - Shopping lists
apps/api/src/shopping/service.ts - Recipes
apps/api/src/recipes/service.ts - Nutrition
apps/api/src/nutrition/service.ts - Notifications
apps/api/src/notifications/service.ts - Privacy controls
apps/api/src/privacy/erasure.ts - PostgreSQL
apps/api/src/db/postgres-client.ts
Background services
- Job processing
services/worker-core/src/worker.ts - Job scheduler
services/scheduler/src/scheduler.ts - Job queue
services/worker-core/src/queue.ts
External integrations
- OFF lookup service
services/off-lookup/src/server.ts
Other components
- Family member
- Open Food Facts
Connections 25
- Family member → Web app: uses
- Web app → API client: requests data
- API client → Identity and access: authenticates
- API client → Family and invites: requests family
- API client → Product catalog: requests products
- API client → Pantry inventory: manages stock
- API client → Shopping lists: manages lists
- API client → Recipes: requests recipes
- API client → Nutrition: requests summary
- API client → Notifications: reads alerts
- API client → Privacy controls: requests privacy
- Product catalog → Barcode lookup: resolves barcode
- Barcode lookup → OFF lookup service: looks up code
- OFF lookup service → Open Food Facts: queries products
- Product catalog → PostgreSQL: stores catalog
- Family and invites → PostgreSQL: stores family
- Pantry inventory → PostgreSQL: stores stock
- Expiry tracking → PostgreSQL: reads expiry data
- Shopping lists → PostgreSQL: stores lists
- Recipes → PostgreSQL: reads recipes
- Nutrition → PostgreSQL: reads nutrition
- Notifications → PostgreSQL: stores alerts
- Privacy controls → PostgreSQL: exports or erases
- Job scheduler → Job queue: enqueues jobs
- Job queue → Job processing: dispatches jobs