FoodVision Backend

This directory contains the backend code for the FoodVision app.

Structure

  • database/: Database schema and queries
    • schema.ts: Defines the database tables and types
    • queries.ts: Contains functions for interacting with the database
  • services/: External service integrations
    • vision.ts: Integration with Groq API for Llama 4 Maverick vision
  • index.ts: Main entry point for the HTTP API

API Endpoints

  • POST /api/analyze: Analyze a food image

    • Accepts: multipart/form-data with image file and optional userId
    • Returns: Analysis results including calories, description, and tags
  • GET /api/entries: Get food entry history

    • Query params: userId (optional), limit (optional), offset (optional)
    • Returns: List of food entries
  • GET /api/stats: Get calorie statistics

    • Query params: userId (optional), days (optional)
    • Returns: Daily calories, total calories, average calories, and common tags

Environment Variables

  • GROQ_API_KEY: API key for Groq (required for vision analysis)