Skip to content

BonchitoSky/CookMind-AI

Repository files navigation

CookMind AI

CookMind AI is a full-stack cooking assistant built with React, Vite, FastAPI, PostgreSQL, and Docker.

Phase Status

  • Phase 1: project initialization completed
  • Phase 2: database and models completed
  • Phase 3: recipe dataset ingestion completed
  • Phase 4: ingredient matching and recipe recommendation completed
  • Phase 5: OpenAI chatbot integration completed
  • Phase 6: frontend UI completed
  • Phase 7: authentication completed
  • Phase 8: memory and personalization completed
  • Phase 9: image recognition completed
  • Phase 10: deployment setup completed

Implemented Features

  • JWT signup, login, session persistence, and protected routes
  • Pantry persistence per authenticated user
  • Saved chat conversations with backend chat memory
  • User cuisine preferences and dietary preferences
  • Favorite recipe saving
  • Recipe recommendations from ingredient lists
  • Image upload to ingredient detection flow with Google Vision support and filename fallback
  • Docker development and production setup
  • CI workflow for backend tests and frontend builds
  • Backend request logging

Main API Surface

  • GET /
  • GET /api/v1/health/
  • POST /api/v1/auth/signup
  • POST /api/v1/auth/login
  • GET /api/v1/auth/me
  • GET /api/v1/pantry/
  • POST /api/v1/pantry/
  • DELETE /api/v1/pantry/{item_id}
  • POST /api/v1/recommendations/
  • POST /api/v1/chat/
  • GET /api/v1/chat/conversations
  • GET /api/v1/personalization/profile
  • PUT /api/v1/personalization/preferences
  • POST /api/v1/personalization/favorites
  • DELETE /api/v1/personalization/favorites/{recipe_id}
  • POST /api/v1/image-recognition/

Local Development

  1. Copy .env.example to .env.
  2. Set at least:
    • JWT_SECRET_KEY
    • OPENAI_API_KEY for chat
    • GOOGLE_VISION_API_KEY if you want real image recognition labels
  3. Start the stack:
docker compose up --build
  1. Open:
    • frontend: http://localhost:5173
    • backend docs: http://localhost:8000/docs

Production Stack

Use the production compose file:

docker compose -f docker-compose.prod.yml up --build -d

Notes:

  • Put TLS cert files in infra/nginx/certs/fullchain.pem and infra/nginx/certs/privkey.pem.
  • The reverse proxy terminates HTTPS and forwards /api/ traffic to the backend.

How To Use The App

  1. Open the frontend.
  2. Create an account on the Auth page.
  3. Use Pantry to save ingredients and set cuisine or dietary preferences.
  4. Use Recipes to enter ingredients and save favorite recipes.
  5. Use Chat to start a cooking conversation. Past conversations are stored and can be reopened.
  6. Use Vision to upload an ingredient photo and convert it into recipe suggestions.

Verification

  • Backend: python -m unittest discover -s tests
  • Frontend: npm run build

About

Full-stack AI cooking assistant built with React, FastAPI, PostgreSQL, OpenAI, personalization, and image-based ingredient recognition.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors