How xphoenixx05/food-calorie-app works
FoodVision AI combines a Flask food-recognition and nutrition application with tooling for building and checking a reusable Food Knowledge Base. In the principal user flow, an image reaches the application, the Food-101 model predicts food classes, and nutrition lookup supplies the response. Separately, data-import tools validate and write food collections, while audit and USDA-matching tools support knowledge-base quality and nutrition mapping. README capabilities such as search, analytics, and recommendations are described as future-facing; their runtime implementations are not evident in the supplied tree. Some route and service wiring is therefore omitted.
Main entry points: audit.py Knowledge-base auditor · main.py Flask application · import_food101.py Food-101 importer · importer.py Import coordinator
Components 25
Food application
- Flask application
main.py - Authentication routes
app/routes/auth.py - User routes
app/routes/user.py - Admin routes
app/routes/admin.py - API routes
app/routes/api.py - Prediction routes
app/routes/prediction.py - JSON data access
app/services/json_db.py
Food recognition
- Food-101 inference
app/services/food101_service.py - Name normalization
app/services/prediction_service.py - SigLIP model
app/services/siglip_service.py
Nutrition lookup
- Nutrition resolution
app/services/nutrition_service.py - USDA adapter
app/services/usda_service.py - USDA search client
data/usda/usda_client.py
Knowledge base
- Food Knowledge Base
- Import coordinator
data/importer/importer.py - Food-101 importer
data/importer/import_food101.py - Source loading
data/importer/source_loader.py - Collection writer
data/importer/writer.py - USDA food matching
data/usda/match_foods.py
Data quality
- Knowledge-base auditor
data/auditor/audit.py - Schema checks
data/auditor/schema_checker.py - Duplicate checks
data/auditor/duplicate_checker.py - Audit reporting
data/auditor/report.py
Other components
- End user
- USDA FoodData Central
Connections 17
- End user → Flask application: uses
- Flask application → Food-101 inference: predicts with
- Flask application → Nutrition resolution: looks up nutrition
- Flask application → JSON data access: initializes database
- USDA adapter → Nutrition resolution: delegates lookup
- USDA search client → USDA FoodData Central: searches
- Food-101 importer → Source loading: loads source
- Food-101 importer → Collection writer: writes collections
- Food-101 importer → Food Knowledge Base: updates collections
- Import coordinator → Source loading: loads sources
- Import coordinator → Collection writer: writes collections
- USDA food matching → USDA search client: searches USDA
- USDA food matching → Food Knowledge Base: maps foods
- Knowledge-base auditor → Schema checks: checks schema
- Knowledge-base auditor → Duplicate checks: checks duplicates
- Knowledge-base auditor → Audit reporting: reports results
- Knowledge-base auditor → Food Knowledge Base: audits collections