How llamasearchai/opengov-foodsafety works
OpenGov-FoodSafety is a FastAPI food-safety inspection management application. Its main user workflow is to authenticate, then create, list, retrieve, update, or delete inspection-style items through the API; item data is persisted in an async SQLAlchemy database. A separate CLI supports database initialization/seeding and AI analysis through agent services. The README also documents OpenAI and Ollama integrations. Connections among unsampled AI internals and inspection-specific workflows are not inferred beyond the documented capabilities.
Main entry points: deps.py Auth dependencies · cli.py CLI · users.py User routes · items.py Item routes
Components 18
Application entrypoints
- Web application
src/opengovfood/web/app.py - CLI
src/opengovfood/cli.py
API and identity
- API router
src/opengovfood/api/api.py - User routes
src/opengovfood/api/users.py - Item routes
src/opengovfood/api/items.py - Auth dependencies
src/opengovfood/api/deps.py - Token security
src/opengovfood/core/security.py
Items and persistence
- User operations
src/opengovfood/crud/user.py - Item operations
src/opengovfood/crud/item.py - CRUD base
src/opengovfood/crud/base.py - Database models
src/opengovfood/models/user.py - Inspection item model
src/opengovfood/models/item.py - API schemas
src/opengovfood/schemas/item.py - Async database
src/opengovfood/core/database.py
AI analysis
- Agent analysis
src/opengovfood/services/agent_service.py - Ollama service
src/opengovfood/services/ollama_service.py
Other components
- Inspector or operator
- AI provider
Connections 25
- Inspector or operator → Web application: uses API
README.md - Web application → API router: mounts routes
src/opengovfood/web/app.py - API router → User routes: includes routes
src/opengovfood/api/api.py - API router → Item routes: includes routes
src/opengovfood/api/api.py - User routes → Auth dependencies: uses dependencies
src/opengovfood/api/users.py - Item routes → Auth dependencies: uses dependencies
src/opengovfood/api/items.py - Auth dependencies → Async database: gets sessions
src/opengovfood/api/deps.py - Auth dependencies → User operations: loads user
src/opengovfood/api/deps.py - Auth dependencies → Token security: uses JWT
src/opengovfood/api/deps.py - User routes → User operations: authenticates users
src/opengovfood/api/users.py - User routes → Token security: creates token
src/opengovfood/api/users.py - Item routes → Item operations: manages items
src/opengovfood/api/items.py - User operations → CRUD base: extends operations
src/opengovfood/crud/user.py - Item operations → CRUD base: extends operations
src/opengovfood/crud/item.py - CRUD base → Database models: queries models
src/opengovfood/crud/base.py - User operations → Database models: persists users
src/opengovfood/crud/user.py - Item operations → Inspection item model: persists items
src/opengovfood/crud/item.py - Item routes → API schemas: validates payloads
src/opengovfood/api/items.py - Async database → Database models: creates schema
src/opengovfood/core/database.py - Inspector or operator → CLI: runs commands
README.md - CLI → Async database: initializes or seeds
src/opengovfood/cli.py - CLI → Agent analysis: runs analysis
src/opengovfood/cli.py - CLI → Ollama service: selects provider
src/opengovfood/cli.py - Agent analysis → AI provider: analyzes with
- Ollama service → AI provider: calls Ollama