From ecdd7546d327e30dbf9af521b58a9131b15ea5be Mon Sep 17 00:00:00 2001 From: bigtux Date: Tue, 10 Feb 2026 18:52:42 -0300 Subject: [PATCH] v0.2 - 19 features: comparator, allergies, gamification, shopping list, achievements, stats, profile, share, bottom nav --- backend/app/integrations/openai_client.py | 142 ++++++++-- backend/app/main.py | 19 +- backend/app/models/__init__.py | 4 +- backend/app/models/achievement.py | 19 ++ backend/app/models/shopping_list.py | 12 + backend/app/models/user.py | 4 +- backend/app/routers/achievements.py | 57 ++++ backend/app/routers/auth.py | 23 +- backend/app/routers/compare.py | 48 ++++ backend/app/routers/profile.py | 51 ++++ backend/app/routers/scan.py | 173 +++++++++--- backend/app/routers/share.py | 58 ++++ backend/app/routers/shopping.py | 52 ++++ backend/app/routers/stats.py | 87 ++++++ backend/app/schemas/scan.py | 25 +- backend/app/services/achievements.py | 59 +++++ docs/ARQUITETURA-TECNICA.pdf | Bin 5105478 -> 5056440 bytes docs/MANUAL-PRODUTO.pdf | Bin 2364224 -> 2324229 bytes docs/MANUAL-TECNICO.pdf | Bin 1158446 -> 1067623 bytes docs/MANUAL-VENDAS.pdf | Bin 2844622 -> 2814047 bytes docs/generate-pdfs.py | 85 ++++++ docs/generate-pdfs.sh | 66 +++++ docs/pdf-template.html | 247 +++++++++++++++++ frontend/src/app/achievements/page.tsx | 78 ++++++ frontend/src/app/compare/page.tsx | 155 +++++++++++ frontend/src/app/history/page.tsx | 173 ++++++------ frontend/src/app/profile/page.tsx | 128 +++++++++ frontend/src/app/scan/page.tsx | 309 ++++++++++++---------- frontend/src/app/shopping/page.tsx | 116 ++++++++ frontend/src/app/stats/page.tsx | 124 +++++++++ frontend/src/components/BottomNav.tsx | 33 +++ frontend/src/lib/api.ts | 28 ++ migrate.sql | 39 +++ 33 files changed, 2105 insertions(+), 309 deletions(-) create mode 100644 backend/app/models/achievement.py create mode 100644 backend/app/models/shopping_list.py create mode 100644 backend/app/routers/achievements.py create mode 100644 backend/app/routers/compare.py create mode 100644 backend/app/routers/profile.py create mode 100644 backend/app/routers/share.py create mode 100644 backend/app/routers/shopping.py create mode 100644 backend/app/routers/stats.py create mode 100644 backend/app/services/achievements.py create mode 100644 docs/generate-pdfs.py create mode 100755 docs/generate-pdfs.sh create mode 100644 docs/pdf-template.html create mode 100644 frontend/src/app/achievements/page.tsx create mode 100644 frontend/src/app/compare/page.tsx create mode 100644 frontend/src/app/profile/page.tsx create mode 100644 frontend/src/app/shopping/page.tsx create mode 100644 frontend/src/app/stats/page.tsx create mode 100644 frontend/src/components/BottomNav.tsx create mode 100644 migrate.sql diff --git a/backend/app/integrations/openai_client.py b/backend/app/integrations/openai_client.py index 928d519..8a2aac8 100644 --- a/backend/app/integrations/openai_client.py +++ b/backend/app/integrations/openai_client.py @@ -19,7 +19,7 @@ Responda SEMPRE em JSON válido com esta estrutura exata: "proteinas": "", "carboidratos": "" }, - "nutrition_verdict": "", + "nutrition_verdict": "", "ingredients": [ { "name": "", @@ -31,32 +31,50 @@ Responda SEMPRE em JSON válido com esta estrutura exata: ], "recipe": { "title": "", - "description": "", + "description": "", "prep_time": "", - "calories": "", - "ingredients_list": ["", "", ...], - "steps": ["", "", ...], - "tip": "" - } + "calories": "", + "ingredients_list": ["", ...], + "steps": ["", ...], + "tip": "" + }, + "substitutions": [ + { + "name": "", + "brand": "", + "reason": "", + "estimated_score": + } + ] } +REGRAS PARA SUBSTITUIÇÕES: +- SOMENTE inclua "substitutions" se o score for < 50 +- Sugira 3 produtos REAIS brasileiros que sejam alternativas mais saudáveis +- Se score >= 50, retorne "substitutions": null + Para a receita: -- Se o produto for SAUDÁVEL (score > 70): sugira uma receita usando o produto -- Se o produto for RUIM (score <= 70): sugira uma alternativa saudável que substitua o produto -- A receita deve ser simples, rápida e brasileira quando possível +- Se score > 70: sugira receita usando o produto +- Se score <= 70: sugira alternativa saudável Critérios para o score: -- 90-100: Alimento natural, minimamente processado, sem aditivos -- 70-89: Bom, com poucos aditivos ou processamento leve -- 50-69: Médio, processado mas aceitável com moderação -- 30-49: Ruim, ultraprocessado com vários aditivos -- 0-29: Péssimo, alto em açúcar/sódio/gordura trans, muitos aditivos +- 90-100: Natural, minimamente processado +- 70-89: Bom, poucos aditivos +- 50-69: Médio, processado mas aceitável +- 30-49: Ruim, ultraprocessado +- 0-29: Péssimo, alto em açúcar/sódio/gordura trans -Use os dados nutricionais fornecidos quando disponíveis. Estime quando não disponíveis. -Considere Nutri-Score, classificação NOVA, e ingredientes problemáticos. -Seja direto e honesto. Use linguagem simples.""" +Use linguagem simples e direta.""" -async def analyze_product(product_data: dict) -> dict: +HEALTH_PROFILE_PROMPTS = { + "normal": "", + "crianca": "\n⚠️ PERFIL: CRIANÇA. Alerte sobre: excesso de açúcar, corantes artificiais, cafeína, sódio alto. Seja mais rigoroso com ultraprocessados.", + "gestante": "\n⚠️ PERFIL: GESTANTE. Alerte sobre: cafeína, adoçantes artificiais, sódio excessivo, conservantes. Priorize folato, ferro, cálcio.", + "diabetico": "\n⚠️ PERFIL: DIABÉTICO. Alerte sobre: açúcares, carboidratos refinados, índice glicêmico alto. Valorize fibras e proteínas.", + "hipertenso": "\n⚠️ PERFIL: HIPERTENSO. Alerte sobre: sódio (>400mg é ALTO), glutamato monossódico, conservantes com sódio. Limite: <2g sódio/dia.", +} + +async def analyze_product(product_data: dict, user_context: dict = None) -> dict: if not settings.OPENAI_API_KEY: return _mock_analysis(product_data) @@ -65,21 +83,30 @@ async def analyze_product(product_data: dict) -> dict: nutrition_info = product_data.get('nutrition', {}) nutrition_str = json.dumps(nutrition_info, ensure_ascii=False) if nutrition_info else 'Não disponível' + system = SYSTEM_PROMPT + extra = "" + if user_context: + hp = user_context.get("health_profile", "normal") + system += HEALTH_PROFILE_PROMPTS.get(hp, "") + allergies = user_context.get("allergies", []) + if allergies: + extra = f"\n\n⚠️ ALERGIAS DO USUÁRIO: {', '.join(allergies)}. Destaque QUALQUER ingrediente que possa conter esses alérgenos." + user_msg = f"""Produto: {product_data.get('name', 'Desconhecido')} Marca: {product_data.get('brand', '')} Categoria: {product_data.get('category', '')} Ingredientes: {product_data.get('ingredients_text', 'Não disponível')} Nutri-Score: {product_data.get('nutri_score', 'N/A')} NOVA: {product_data.get('nova_group', 'N/A')} -Dados Nutricionais: {nutrition_str} +Dados Nutricionais: {nutrition_str}{extra} -Analise este produto com informações nutricionais detalhadas e sugira uma receita.""" +Analise este produto completo.""" try: resp = await client.chat.completions.create( model=settings.OPENAI_MODEL, messages=[ - {"role": "system", "content": SYSTEM_PROMPT}, + {"role": "system", "content": system}, {"role": "user", "content": user_msg} ], response_format={"type": "json_object"}, @@ -115,5 +142,74 @@ def _mock_analysis(product_data: dict) -> dict: "nutrition": {}, "nutrition_verdict": "", "ingredients": [], - "recipe": None + "recipe": None, + "substitutions": None, } + + +PHOTO_PROMPT = """Analise esta foto de um produto alimentar/suplemento. A foto pode mostrar o rótulo, tabela nutricional, ingredientes ou embalagem. + +IMPORTANTE: Mesmo que a foto esteja parcial, TENTE extrair o máximo de informações. NUNCA retorne erro se conseguir identificar o produto. + +Responda em JSON com este formato: +{ + "product_name": "", + "brand": "", + "category": "", + "ingredients_text": "", + "nutri_score": "", + "nova_group": <1-4 ou null>, + "score": , + "summary": "", + "positives": ["..."], + "negatives": ["..."], + "nutrition": {"calorias":"...","acucar":"...","gordura_total":"...","gordura_saturada":"...","sodio":"...","carboidratos":"...","fibras":"...","proteinas":"..."}, + "nutrition_verdict": "", + "ingredients": [{"name":"...","popular_name":"...","explanation":"...","classification":"good|warning|bad","reason":"..."}], + "recipe": {"title":"...","description":"...","prep_time":"...","calories":"...","ingredients_list":["..."],"steps":["..."],"tip":"..."}, + "substitutions": null +} + +Se score < 50, inclua "substitutions" com 3 alternativas reais brasileiras. +SOMENTE retorne {"error": "mensagem"} se NÃO for alimento.""" + +async def analyze_photo(b64_image: str, user_context: dict = None) -> dict: + if not settings.OPENAI_API_KEY: + return None + + client = AsyncOpenAI(api_key=settings.OPENAI_API_KEY) + + system = "Voce eh um nutricionista brasileiro expert em analise de rotulos alimentares." + if user_context: + hp = user_context.get("health_profile", "normal") + system += HEALTH_PROFILE_PROMPTS.get(hp, "") + + prompt = PHOTO_PROMPT + if user_context and user_context.get("allergies"): + prompt += f"\n\n⚠️ ALERGIAS: {', '.join(user_context['allergies'])}. Destaque alérgenos!" + + for detail_level in ["low", "auto"]: + try: + resp = await client.chat.completions.create( + model="gpt-4o", + messages=[ + {"role": "system", "content": system}, + {"role": "user", "content": [ + {"type": "text", "text": prompt}, + {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{b64_image}", "detail": detail_level}} + ]} + ], + response_format={"type": "json_object"}, + temperature=0.3, + timeout=30, + max_tokens=1500, + ) + result = json.loads(resp.choices[0].message.content) + if result.get("error"): + continue + return result + except Exception as e: + print(f"OpenAI photo error (detail={detail_level}): {e}") + continue + + return None diff --git a/backend/app/main.py b/backend/app/main.py index ff81252..5d9fa09 100644 --- a/backend/app/main.py +++ b/backend/app/main.py @@ -1,19 +1,24 @@ from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from contextlib import asynccontextmanager -from app.database import init_db +from app.database import init_db, async_session from app.routers import auth, scan +from app.routers import compare, profile, stats, achievements, shopping, share +from app.services.achievements import seed_achievements @asynccontextmanager async def lifespan(app: FastAPI): await init_db() + # Seed achievements + async with async_session() as db: + await seed_achievements(db) yield -app = FastAPI(title="Aletheia API", version="0.1.0", lifespan=lifespan) +app = FastAPI(title="Aletheia API", version="0.2.0", lifespan=lifespan) app.add_middleware( CORSMiddleware, - allow_origins=["http://localhost:3080", "http://127.0.0.1:3080"], + allow_origins=["http://localhost:3080", "http://127.0.0.1:3080", "http://198.199.84.130:3080", "*"], allow_credentials=True, allow_methods=["*"], allow_headers=["*"], @@ -21,7 +26,13 @@ app.add_middleware( app.include_router(auth.router) app.include_router(scan.router) +app.include_router(compare.router) +app.include_router(profile.router) +app.include_router(stats.router) +app.include_router(achievements.router) +app.include_router(shopping.router) +app.include_router(share.router) @app.get("/api/health") async def health(): - return {"status": "ok", "app": "Aletheia API v0.1"} + return {"status": "ok", "app": "Aletheia API v0.2"} diff --git a/backend/app/models/__init__.py b/backend/app/models/__init__.py index a2c9e3c..c815f21 100644 --- a/backend/app/models/__init__.py +++ b/backend/app/models/__init__.py @@ -1,5 +1,5 @@ from app.models.user import User from app.models.product import Product from app.models.scan import Scan - -__all__ = ["User", "Product", "Scan"] +from app.models.achievement import Achievement, UserAchievement +from app.models.shopping_list import ShoppingItem diff --git a/backend/app/models/achievement.py b/backend/app/models/achievement.py new file mode 100644 index 0000000..6285fea --- /dev/null +++ b/backend/app/models/achievement.py @@ -0,0 +1,19 @@ +from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Boolean +from datetime import datetime, timezone +from app.database import Base + +class Achievement(Base): + __tablename__ = "achievements" + id = Column(Integer, primary_key=True, index=True) + code = Column(String, unique=True, nullable=False) + name = Column(String, nullable=False) + description = Column(String, nullable=False) + emoji = Column(String, default="🏆") + target = Column(Integer, default=1) # number needed to unlock + +class UserAchievement(Base): + __tablename__ = "user_achievements" + id = Column(Integer, primary_key=True, index=True) + user_id = Column(Integer, ForeignKey("users.id"), nullable=False) + achievement_id = Column(Integer, ForeignKey("achievements.id"), nullable=False) + unlocked_at = Column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc)) diff --git a/backend/app/models/shopping_list.py b/backend/app/models/shopping_list.py new file mode 100644 index 0000000..135e287 --- /dev/null +++ b/backend/app/models/shopping_list.py @@ -0,0 +1,12 @@ +from sqlalchemy import Column, Integer, String, DateTime, ForeignKey, Boolean +from datetime import datetime, timezone +from app.database import Base + +class ShoppingItem(Base): + __tablename__ = "shopping_list" + id = Column(Integer, primary_key=True, index=True) + user_id = Column(Integer, ForeignKey("users.id"), nullable=False) + product_name = Column(String, nullable=False) + barcode = Column(String, nullable=True) + checked = Column(Boolean, default=False) + added_at = Column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc)) diff --git a/backend/app/models/user.py b/backend/app/models/user.py index efc9599..b4bc164 100644 --- a/backend/app/models/user.py +++ b/backend/app/models/user.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Integer, String, Boolean, DateTime +from sqlalchemy import Column, Integer, String, Boolean, DateTime, Text from datetime import datetime, timezone from app.database import Base @@ -9,4 +9,6 @@ class User(Base): name = Column(String, nullable=False) password_hash = Column(String, nullable=False) is_premium = Column(Boolean, default=False) + allergies = Column(Text, default="[]") # JSON array of allergies + health_profile = Column(String, default="normal") # normal, crianca, gestante, diabetico, hipertenso created_at = Column(DateTime(timezone=True), default=lambda: datetime.now(timezone.utc)) diff --git a/backend/app/routers/achievements.py b/backend/app/routers/achievements.py new file mode 100644 index 0000000..3e1df98 --- /dev/null +++ b/backend/app/routers/achievements.py @@ -0,0 +1,57 @@ +from fastapi import APIRouter, Depends +from sqlalchemy.ext.asyncio import AsyncSession +from sqlalchemy import select, func +from app.database import get_db +from app.models.user import User +from app.models.scan import Scan +from app.models.achievement import Achievement, UserAchievement +from app.utils.security import get_current_user + +router = APIRouter(prefix="/api", tags=["achievements"]) + +@router.get("/achievements") +async def get_achievements(user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): + # Get all achievements + res = await db.execute(select(Achievement).order_by(Achievement.id)) + all_achievements = res.scalars().all() + + # Get user unlocked + unlocked_res = await db.execute( + select(UserAchievement).where(UserAchievement.user_id == user.id) + ) + unlocked = {ua.achievement_id: ua.unlocked_at for ua in unlocked_res.scalars().all()} + + # Get progress counts + total_scans_res = await db.execute(select(func.count(Scan.id)).where(Scan.user_id == user.id)) + total_scans = total_scans_res.scalar() or 0 + + photo_scans_res = await db.execute( + select(func.count(Scan.id)).where(Scan.user_id == user.id, Scan.barcode == "PHOTO") + ) + photo_scans = photo_scans_res.scalar() or 0 + + progress_map = { + "first_scan": min(total_scans, 1), + "detective": min(total_scans, 10), + "expert": min(total_scans, 50), + "master": min(total_scans, 100), + "photographer": min(photo_scans, 5), + "comparator": 0, # tracked separately + } + + result = [] + for a in all_achievements: + is_unlocked = a.id in unlocked + result.append({ + "id": a.id, + "code": a.code, + "name": a.name, + "description": a.description, + "emoji": a.emoji, + "target": a.target, + "progress": progress_map.get(a.code, 0), + "unlocked": is_unlocked, + "unlocked_at": unlocked[a.id].isoformat() if is_unlocked else None, + }) + + return {"achievements": result, "total_scans": total_scans} diff --git a/backend/app/routers/auth.py b/backend/app/routers/auth.py index 0e723e5..42f1e0e 100644 --- a/backend/app/routers/auth.py +++ b/backend/app/routers/auth.py @@ -1,6 +1,7 @@ from fastapi import APIRouter, Depends, HTTPException from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy import select +import json from app.database import get_db from app.models.user import User from app.schemas.auth import RegisterRequest, LoginRequest, TokenResponse, UserResponse @@ -8,6 +9,14 @@ from app.utils.security import hash_password, verify_password, create_access_tok router = APIRouter(prefix="/api/auth", tags=["auth"]) +def user_dict(user: User) -> dict: + return { + "id": user.id, "email": user.email, "name": user.name, + "is_premium": user.is_premium, + "allergies": json.loads(user.allergies or "[]"), + "health_profile": user.health_profile or "normal", + } + @router.post("/register", response_model=TokenResponse) async def register(req: RegisterRequest, db: AsyncSession = Depends(get_db)): existing = await db.execute(select(User).where(User.email == req.email)) @@ -20,10 +29,7 @@ async def register(req: RegisterRequest, db: AsyncSession = Depends(get_db)): await db.refresh(user) token = create_access_token({"sub": str(user.id)}) - return TokenResponse( - access_token=token, - user={"id": user.id, "email": user.email, "name": user.name, "is_premium": user.is_premium} - ) + return TokenResponse(access_token=token, user=user_dict(user)) @router.post("/login", response_model=TokenResponse) async def login(req: LoginRequest, db: AsyncSession = Depends(get_db)): @@ -33,11 +39,8 @@ async def login(req: LoginRequest, db: AsyncSession = Depends(get_db)): raise HTTPException(status_code=401, detail="Email ou senha incorretos") token = create_access_token({"sub": str(user.id)}) - return TokenResponse( - access_token=token, - user={"id": user.id, "email": user.email, "name": user.name, "is_premium": user.is_premium} - ) + return TokenResponse(access_token=token, user=user_dict(user)) -@router.get("/me", response_model=UserResponse) +@router.get("/me") async def me(user: User = Depends(get_current_user)): - return UserResponse(id=user.id, email=user.email, name=user.name, is_premium=user.is_premium) + return user_dict(user) diff --git a/backend/app/routers/compare.py b/backend/app/routers/compare.py new file mode 100644 index 0000000..8b84243 --- /dev/null +++ b/backend/app/routers/compare.py @@ -0,0 +1,48 @@ +from fastapi import APIRouter, Depends, HTTPException +from sqlalchemy.ext.asyncio import AsyncSession +from sqlalchemy import select +import json +from app.database import get_db +from app.models.user import User +from app.models.scan import Scan +from app.models.product import Product +from app.utils.security import get_current_user +from app.services.achievements import check_achievements + +router = APIRouter(prefix="/api", tags=["compare"]) + +@router.post("/compare") +async def compare_products(data: dict, user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): + scan_ids = data.get("scan_ids", []) + if len(scan_ids) < 2 or len(scan_ids) > 4: + raise HTTPException(status_code=400, detail="Selecione entre 2 e 4 produtos") + + results = [] + for sid in scan_ids: + res = await db.execute(select(Scan).where(Scan.id == sid, Scan.user_id == user.id)) + scan = res.scalar_one_or_none() + if not scan: + raise HTTPException(status_code=404, detail=f"Scan {sid} não encontrado") + + analysis = json.loads(scan.analysis_json or '{}') + prod_res = await db.execute(select(Product).where(Product.barcode == scan.barcode)) + product = prod_res.scalar_one_or_none() + + results.append({ + "scan_id": scan.id, + "product_name": scan.product_name, + "brand": scan.brand, + "score": scan.score, + "image_url": product.image_url if product else None, + "nutri_score": product.nutri_score if product else None, + "nova_group": product.nova_group if product else None, + "positives": analysis.get("positives", []), + "negatives": analysis.get("negatives", []), + "nutrition": analysis.get("nutrition", {}), + "nutrition_verdict": analysis.get("nutrition_verdict", ""), + }) + + # Check comparison achievement + await check_achievements(user.id, db, action="compare") + + return {"products": results} diff --git a/backend/app/routers/profile.py b/backend/app/routers/profile.py new file mode 100644 index 0000000..d736300 --- /dev/null +++ b/backend/app/routers/profile.py @@ -0,0 +1,51 @@ +from fastapi import APIRouter, Depends, HTTPException +from sqlalchemy.ext.asyncio import AsyncSession +from pydantic import BaseModel +from typing import List, Optional +import json +from app.database import get_db +from app.models.user import User +from app.utils.security import get_current_user + +router = APIRouter(prefix="/api/auth", tags=["profile"]) + +class ProfileUpdate(BaseModel): + allergies: Optional[List[str]] = None + health_profile: Optional[str] = None + name: Optional[str] = None + +VALID_PROFILES = ["normal", "crianca", "gestante", "diabetico", "hipertenso"] + +@router.put("/profile") +async def update_profile(data: ProfileUpdate, user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): + if data.allergies is not None: + user.allergies = json.dumps(data.allergies) + if data.health_profile is not None: + if data.health_profile not in VALID_PROFILES: + raise HTTPException(status_code=400, detail=f"Perfil inválido. Use: {', '.join(VALID_PROFILES)}") + user.health_profile = data.health_profile + if data.name is not None: + user.name = data.name + + await db.commit() + await db.refresh(user) + + return { + "id": user.id, + "email": user.email, + "name": user.name, + "is_premium": user.is_premium, + "allergies": json.loads(user.allergies or "[]"), + "health_profile": user.health_profile or "normal", + } + +@router.get("/profile") +async def get_profile(user: User = Depends(get_current_user)): + return { + "id": user.id, + "email": user.email, + "name": user.name, + "is_premium": user.is_premium, + "allergies": json.loads(user.allergies or "[]"), + "health_profile": user.health_profile or "normal", + } diff --git a/backend/app/routers/scan.py b/backend/app/routers/scan.py index 0ac0bf6..5a368ea 100644 --- a/backend/app/routers/scan.py +++ b/backend/app/routers/scan.py @@ -1,6 +1,6 @@ +from fastapi import APIRouter, Depends, HTTPException, File, UploadFile import json -from datetime import datetime, timezone, date -from fastapi import APIRouter, Depends, HTTPException +from datetime import datetime, timezone from sqlalchemy.ext.asyncio import AsyncSession from sqlalchemy import select, func from app.database import get_db @@ -10,15 +10,21 @@ from app.models.scan import Scan from app.schemas.scan import ScanRequest, ScanResult, ScanHistoryItem from app.utils.security import get_current_user from app.integrations.open_food_facts import fetch_product -from app.integrations.openai_client import analyze_product +from app.integrations.openai_client import analyze_product, analyze_photo from app.config import settings from app.services.seed import SEED_PRODUCTS +from app.services.achievements import check_achievements router = APIRouter(prefix="/api", tags=["scan"]) +def get_user_context(user: User) -> dict: + """Build user context for AI analysis.""" + allergies = json.loads(user.allergies or "[]") + health_profile = user.health_profile or "normal" + return {"allergies": allergies, "health_profile": health_profile} + @router.post("/scan", response_model=ScanResult) async def scan_product(req: ScanRequest, user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): - # Rate limit check if not user.is_premium: today_start = datetime.now(timezone.utc).replace(hour=0, minute=0, second=0, microsecond=0) result = await db.execute( @@ -28,7 +34,6 @@ async def scan_product(req: ScanRequest, user: User = Depends(get_current_user), if count >= settings.FREE_SCAN_LIMIT: raise HTTPException(status_code=429, detail=f"Limite de {settings.FREE_SCAN_LIMIT} scans/dia atingido. Faça upgrade para Premium!") - # Check local cache result = await db.execute(select(Product).where(Product.barcode == req.barcode)) product = result.scalar_one_or_none() @@ -43,12 +48,10 @@ async def scan_product(req: ScanRequest, user: User = Depends(get_current_user), "image_url": product.image_url, } else: - # Check seed data if req.barcode in SEED_PRODUCTS: product_data = SEED_PRODUCTS[req.barcode].copy() source = "seed" else: - # Fetch from Open Food Facts product_data = await fetch_product(req.barcode) source = "open_food_facts" @@ -66,8 +69,38 @@ async def scan_product(req: ScanRequest, user: User = Depends(get_current_user), if not product_data: raise HTTPException(status_code=404, detail="Produto não encontrado. Tente inserir manualmente.") - # AI Analysis - analysis = await analyze_product(product_data) + user_context = get_user_context(user) + analysis = await analyze_product(product_data, user_context=user_context) + + # Add allergen alerts + allergies = json.loads(user.allergies or "[]") + allergen_alerts = [] + if allergies and analysis.get("ingredients"): + for ing in analysis["ingredients"]: + ing_name = (ing.get("name", "") + " " + ing.get("popular_name", "")).lower() + for allergy in allergies: + allergy_lower = allergy.lower() + # Map common allergy names to ingredient keywords + allergy_keywords = { + "glúten": ["glúten", "trigo", "centeio", "cevada", "aveia", "farinha de trigo", "wheat", "gluten"], + "lactose": ["lactose", "leite", "soro de leite", "whey", "caseína", "lácteo", "milk", "dairy"], + "amendoim": ["amendoim", "peanut"], + "soja": ["soja", "lecitina de soja", "soy"], + "ovo": ["ovo", "albumina", "egg"], + "frutos do mar": ["camarão", "peixe", "lagosta", "caranguejo", "marisco", "fish", "shrimp"], + "nozes": ["nozes", "castanha", "amêndoa", "avelã", "nuts", "almond"], + } + keywords = allergy_keywords.get(allergy_lower, [allergy_lower]) + for kw in keywords: + if kw in ing_name: + allergen_alerts.append({ + "ingredient": ing.get("name", ""), + "allergy": allergy, + }) + ing["is_allergen"] = True + break + + analysis["allergen_alerts"] = allergen_alerts # Save scan scan = Scan( @@ -77,8 +110,12 @@ async def scan_product(req: ScanRequest, user: User = Depends(get_current_user), ) db.add(scan) await db.commit() + + # Check achievements + new_badges = await check_achievements(user.id, db, action="scan") return ScanResult( + id=scan.id, barcode=req.barcode, product_name=product_data.get("name"), brand=product_data.get("brand"), @@ -94,6 +131,9 @@ async def scan_product(req: ScanRequest, user: User = Depends(get_current_user), nutrition=analysis.get("nutrition"), nutrition_verdict=analysis.get("nutrition_verdict"), recipe=analysis.get("recipe"), + substitutions=analysis.get("substitutions"), + allergen_alerts=allergen_alerts, + new_badges=new_badges, source=source, ) @@ -108,37 +148,6 @@ async def get_history(user: User = Depends(get_current_user), db: AsyncSession = brand=s.brand, score=s.score, scanned_at=s.scanned_at ) for s in scans] -@router.get("/history/{scan_id}") -async def get_scan_detail(scan_id: int, user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): - result = await db.execute( - select(Scan).where(Scan.id == scan_id, Scan.user_id == user.id) - ) - scan = result.scalar_one_or_none() - if not scan: - raise HTTPException(status_code=404, detail="Scan não encontrado") - - analysis = json.loads(scan.analysis_json or '{}') - # Also get product info - prod_result = await db.execute(select(Product).where(Product.barcode == scan.barcode)) - product = prod_result.scalar_one_or_none() - - return { - "id": scan.id, - "barcode": scan.barcode, - "product_name": scan.product_name, - "brand": scan.brand, - "score": scan.score, - "summary": scan.summary, - "scanned_at": scan.scanned_at.isoformat() if scan.scanned_at else None, - "category": product.category if product else None, - "image_url": product.image_url if product else None, - "nutri_score": product.nutri_score if product else None, - "nova_group": product.nova_group if product else None, - "positives": analysis.get("positives", []), - "negatives": analysis.get("negatives", []), - "ingredients": analysis.get("ingredients", []), - } - @router.get("/history/{scan_id}") async def get_scan_detail(scan_id: int, user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): result = await db.execute( @@ -170,4 +179,88 @@ async def get_scan_detail(scan_id: int, user: User = Depends(get_current_user), "nutrition": analysis.get("nutrition", {}), "nutrition_verdict": analysis.get("nutrition_verdict", ""), "recipe": analysis.get("recipe"), + "substitutions": analysis.get("substitutions"), + "allergen_alerts": analysis.get("allergen_alerts", []), + } + +@router.post("/scan/photo") +async def scan_photo(user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db), file: UploadFile = File(...)): + if not user.is_premium: + today_start = datetime.now(timezone.utc).replace(hour=0, minute=0, second=0, microsecond=0) + result = await db.execute( + select(func.count(Scan.id)).where(Scan.user_id == user.id, Scan.scanned_at >= today_start) + ) + count = result.scalar() + if count >= settings.FREE_SCAN_LIMIT: + raise HTTPException(status_code=429, detail=f"Limite de {settings.FREE_SCAN_LIMIT} scans/dia atingido.") + + contents = await file.read() + if len(contents) > 10 * 1024 * 1024: + raise HTTPException(status_code=400, detail="Imagem muito grande. Máximo 10MB.") + + import base64 + from PIL import Image + import io + try: + img = Image.open(io.BytesIO(contents)) + img = img.convert("RGB") + max_dim = 1024 + if max(img.size) > max_dim: + ratio = max_dim / max(img.size) + img = img.resize((int(img.size[0]*ratio), int(img.size[1]*ratio)), Image.LANCZOS) + buf = io.BytesIO() + img.save(buf, format="JPEG", quality=85) + b64 = base64.b64encode(buf.getvalue()).decode() + except Exception as e: + raise HTTPException(status_code=400, detail=f"Imagem inválida: {str(e)}") + + user_context = get_user_context(user) + analysis = await analyze_photo(b64, user_context=user_context) + + if not analysis: + raise HTTPException(status_code=422, detail="Não foi possível analisar a imagem. Tente uma foto mais nítida do rótulo.") + + scan = Scan( + user_id=user.id, barcode="PHOTO", + product_name=analysis.get("product_name", "Produto (foto)"), + brand=analysis.get("brand", ""), score=analysis.get("score", 50), + summary=analysis.get("summary", ""), analysis_json=json.dumps(analysis), + ) + db.add(scan) + + if analysis.get("product_name"): + new_product = Product( + barcode="PHOTO_" + str(hash(b64[:100]))[-8:], + name=analysis.get("product_name"), brand=analysis.get("brand", ""), + category=analysis.get("category", ""), ingredients_text=analysis.get("ingredients_text", ""), + nutri_score=analysis.get("nutri_score"), nova_group=analysis.get("nova_group"), + nutrition_json=json.dumps(analysis.get("nutrition", {})), + ) + db.add(new_product) + + await db.commit() + + new_badges = await check_achievements(user.id, db, action="scan") + + return { + "id": scan.id, + "barcode": "PHOTO", + "product_name": analysis.get("product_name", "Produto (foto)"), + "brand": analysis.get("brand", ""), + "category": analysis.get("category", ""), + "image_url": None, + "score": analysis.get("score", 50), + "summary": analysis.get("summary", ""), + "positives": analysis.get("positives", []), + "negatives": analysis.get("negatives", []), + "ingredients": analysis.get("ingredients", []), + "nutrition": analysis.get("nutrition", {}), + "nutrition_verdict": analysis.get("nutrition_verdict", ""), + "recipe": analysis.get("recipe"), + "substitutions": analysis.get("substitutions"), + "allergen_alerts": analysis.get("allergen_alerts", []), + "nutri_score": analysis.get("nutri_score"), + "nova_group": analysis.get("nova_group"), + "new_badges": new_badges, + "source": "photo", } diff --git a/backend/app/routers/share.py b/backend/app/routers/share.py new file mode 100644 index 0000000..a164fe2 --- /dev/null +++ b/backend/app/routers/share.py @@ -0,0 +1,58 @@ +from fastapi import APIRouter, Depends, HTTPException +from fastapi.responses import HTMLResponse +from sqlalchemy.ext.asyncio import AsyncSession +from sqlalchemy import select +import json +from app.database import get_db +from app.models.scan import Scan +from app.models.product import Product + +router = APIRouter(prefix="/api", tags=["share"]) + +@router.get("/scan/{scan_id}/share", response_class=HTMLResponse) +async def share_scan(scan_id: int, db: AsyncSession = Depends(get_db)): + res = await db.execute(select(Scan).where(Scan.id == scan_id)) + scan = res.scalar_one_or_none() + if not scan: + raise HTTPException(status_code=404, detail="Scan não encontrado") + + analysis = json.loads(scan.analysis_json or '{}') + score = scan.score or 0 + color = '#10B981' if score >= 70 else '#EAB308' if score >= 50 else '#F97316' if score >= 30 else '#EF4444' + label = 'Excelente' if score >= 90 else 'Bom' if score >= 70 else 'Regular' if score >= 50 else 'Ruim' if score >= 30 else 'Péssimo' + + positives = ''.join(f'
  • ✅ {p}
  • ' for p in analysis.get("positives", [])) + negatives = ''.join(f'
  • ❌ {n}
  • ' for n in analysis.get("negatives", [])) + + html = f""" + + + + +ALETHEIA - {scan.product_name} + +
    +
    {score}/100
    +

    {scan.product_name or 'Produto'}

    +

    {scan.brand or ''}

    +
    {label}
    +

    {scan.summary or ''}

    +{f'
      {positives}
    ' if positives else ''} +{f'
      {negatives}
    ' if negatives else ''} +
    + +""" + return HTMLResponse(content=html) diff --git a/backend/app/routers/shopping.py b/backend/app/routers/shopping.py new file mode 100644 index 0000000..a640fee --- /dev/null +++ b/backend/app/routers/shopping.py @@ -0,0 +1,52 @@ +from fastapi import APIRouter, Depends, HTTPException +from sqlalchemy.ext.asyncio import AsyncSession +from sqlalchemy import select +from pydantic import BaseModel +from typing import Optional +from app.database import get_db +from app.models.user import User +from app.models.shopping_list import ShoppingItem +from app.utils.security import get_current_user + +router = APIRouter(prefix="/api", tags=["shopping"]) + +class ShoppingAdd(BaseModel): + product_name: str + barcode: Optional[str] = None + +@router.post("/shopping-list") +async def add_to_list(data: ShoppingAdd, user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): + item = ShoppingItem(user_id=user.id, product_name=data.product_name, barcode=data.barcode) + db.add(item) + await db.commit() + await db.refresh(item) + return {"id": item.id, "product_name": item.product_name, "barcode": item.barcode, "checked": item.checked, "added_at": item.added_at.isoformat()} + +@router.get("/shopping-list") +async def get_list(user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): + res = await db.execute( + select(ShoppingItem).where(ShoppingItem.user_id == user.id).order_by(ShoppingItem.added_at.desc()) + ) + items = res.scalars().all() + return [{"id": i.id, "product_name": i.product_name, "barcode": i.barcode, "checked": i.checked, + "added_at": i.added_at.isoformat()} for i in items] + +@router.delete("/shopping-list/{item_id}") +async def delete_item(item_id: int, user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): + res = await db.execute(select(ShoppingItem).where(ShoppingItem.id == item_id, ShoppingItem.user_id == user.id)) + item = res.scalar_one_or_none() + if not item: + raise HTTPException(status_code=404, detail="Item não encontrado") + await db.delete(item) + await db.commit() + return {"ok": True} + +@router.put("/shopping-list/{item_id}/toggle") +async def toggle_item(item_id: int, user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): + res = await db.execute(select(ShoppingItem).where(ShoppingItem.id == item_id, ShoppingItem.user_id == user.id)) + item = res.scalar_one_or_none() + if not item: + raise HTTPException(status_code=404, detail="Item não encontrado") + item.checked = not item.checked + await db.commit() + return {"id": item.id, "checked": item.checked} diff --git a/backend/app/routers/stats.py b/backend/app/routers/stats.py new file mode 100644 index 0000000..4ce45e9 --- /dev/null +++ b/backend/app/routers/stats.py @@ -0,0 +1,87 @@ +from fastapi import APIRouter, Depends +from sqlalchemy.ext.asyncio import AsyncSession +from sqlalchemy import select, func, desc, asc +from datetime import datetime, timezone, timedelta +from app.database import get_db +from app.models.user import User +from app.models.scan import Scan +from app.utils.security import get_current_user + +router = APIRouter(prefix="/api", tags=["stats"]) + +@router.get("/stats") +async def get_stats(user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): + now = datetime.now(timezone.utc) + month_start = now.replace(day=1, hour=0, minute=0, second=0, microsecond=0) + + # Total scans + total_res = await db.execute(select(func.count(Scan.id)).where(Scan.user_id == user.id)) + total_scans = total_res.scalar() or 0 + + # Average score + avg_res = await db.execute(select(func.avg(Scan.score)).where(Scan.user_id == user.id)) + avg_score = round(avg_res.scalar() or 0, 1) + + # Monthly scans + monthly_res = await db.execute( + select(func.count(Scan.id)).where(Scan.user_id == user.id, Scan.scanned_at >= month_start) + ) + monthly_scans = monthly_res.scalar() or 0 + + # Top 10 best this month + best_res = await db.execute( + select(Scan).where(Scan.user_id == user.id, Scan.scanned_at >= month_start) + .order_by(desc(Scan.score)).limit(10) + ) + best = [{"id": s.id, "product_name": s.product_name, "brand": s.brand, "score": s.score, + "scanned_at": s.scanned_at.isoformat() if s.scanned_at else None} for s in best_res.scalars().all()] + + # Top 10 worst this month + worst_res = await db.execute( + select(Scan).where(Scan.user_id == user.id, Scan.scanned_at >= month_start) + .order_by(asc(Scan.score)).limit(10) + ) + worst = [{"id": s.id, "product_name": s.product_name, "brand": s.brand, "score": s.score, + "scanned_at": s.scanned_at.isoformat() if s.scanned_at else None} for s in worst_res.scalars().all()] + + return { + "total_scans": total_scans, + "avg_score": avg_score, + "monthly_scans": monthly_scans, + "best": best, + "worst": worst, + } + +@router.get("/stats/evolution") +async def get_evolution(user: User = Depends(get_current_user), db: AsyncSession = Depends(get_db)): + now = datetime.now(timezone.utc) + three_months_ago = now - timedelta(days=90) + + result = await db.execute( + select(Scan.scanned_at, Scan.score) + .where(Scan.user_id == user.id, Scan.scanned_at >= three_months_ago) + .order_by(Scan.scanned_at) + ) + scans = result.all() + + # Group by week + weeks = {} + for scanned_at, score in scans: + # ISO week + week_key = scanned_at.strftime("%Y-W%W") + week_start = scanned_at - timedelta(days=scanned_at.weekday()) + if week_key not in weeks: + weeks[week_key] = {"week": week_start.strftime("%d/%m"), "scores": [], "count": 0} + weeks[week_key]["scores"].append(score) + weeks[week_key]["count"] += 1 + + evolution = [] + for key in sorted(weeks.keys()): + w = weeks[key] + evolution.append({ + "week": w["week"], + "avg_score": round(sum(w["scores"]) / len(w["scores"]), 1), + "count": w["count"], + }) + + return {"evolution": evolution} diff --git a/backend/app/schemas/scan.py b/backend/app/schemas/scan.py index eb3144b..27d59ce 100644 --- a/backend/app/schemas/scan.py +++ b/backend/app/schemas/scan.py @@ -8,9 +8,10 @@ class ScanRequest(BaseModel): class IngredientAnalysis(BaseModel): name: str popular_name: Optional[str] = None - explanation: str - classification: str - reason: str + explanation: str = "" + classification: str = "warning" + reason: str = "" + is_allergen: Optional[bool] = False class RecipeInfo(BaseModel): title: Optional[str] = None @@ -21,7 +22,18 @@ class RecipeInfo(BaseModel): steps: Optional[List[str]] = None tip: Optional[str] = None +class SubstitutionItem(BaseModel): + name: str + brand: Optional[str] = None + reason: str = "" + estimated_score: Optional[int] = None + +class AllergenAlert(BaseModel): + ingredient: str + allergy: str + class ScanResult(BaseModel): + id: Optional[int] = None barcode: str product_name: Optional[str] = None brand: Optional[str] = None @@ -31,12 +43,15 @@ class ScanResult(BaseModel): summary: str positives: List[str] negatives: List[str] - ingredients: List[IngredientAnalysis] + ingredients: List[Any] # Allow flexible ingredient format nutrition: Optional[Dict[str, Any]] = None nutrition_verdict: Optional[str] = None - recipe: Optional[RecipeInfo] = None + recipe: Optional[Any] = None nutri_score: Optional[str] = None nova_group: Optional[int] = None + substitutions: Optional[List[Any]] = None + allergen_alerts: Optional[List[Any]] = None + new_badges: Optional[List[str]] = None source: str = "open_food_facts" class ScanHistoryItem(BaseModel): diff --git a/backend/app/services/achievements.py b/backend/app/services/achievements.py new file mode 100644 index 0000000..c7bdc94 --- /dev/null +++ b/backend/app/services/achievements.py @@ -0,0 +1,59 @@ +from sqlalchemy.ext.asyncio import AsyncSession +from sqlalchemy import select, func +from app.models.achievement import Achievement, UserAchievement +from app.models.scan import Scan + +ACHIEVEMENT_DEFS = [ + {"code": "first_scan", "name": "Primeiro Scan", "description": "Escaneie seu primeiro produto", "emoji": "🎯", "target": 1}, + {"code": "detective", "name": "Detetive de Rótulos", "description": "Escaneie 10 produtos", "emoji": "🔍", "target": 10}, + {"code": "expert", "name": "Expert", "description": "Escaneie 50 produtos", "emoji": "🧠", "target": 50}, + {"code": "master", "name": "Master", "description": "Escaneie 100 produtos", "emoji": "👑", "target": 100}, + {"code": "photographer", "name": "Fotógrafo", "description": "Analise 5 produtos por foto", "emoji": "📸", "target": 5}, + {"code": "comparator", "name": "Comparador", "description": "Compare produtos 3 vezes", "emoji": "⚖️", "target": 3}, +] + +async def seed_achievements(db: AsyncSession): + for a_def in ACHIEVEMENT_DEFS: + res = await db.execute(select(Achievement).where(Achievement.code == a_def["code"])) + if not res.scalar_one_or_none(): + db.add(Achievement(**a_def)) + await db.commit() + +async def check_achievements(user_id: int, db: AsyncSession, action: str = "scan"): + """Check and unlock achievements after an action.""" + # Get all achievements + res = await db.execute(select(Achievement)) + all_achievements = {a.code: a for a in res.scalars().all()} + + # Get already unlocked + unlocked_res = await db.execute(select(UserAchievement).where(UserAchievement.user_id == user_id)) + unlocked_ids = {ua.achievement_id for ua in unlocked_res.scalars().all()} + + # Count scans + total_res = await db.execute(select(func.count(Scan.id)).where(Scan.user_id == user_id)) + total_scans = total_res.scalar() or 0 + + photo_res = await db.execute( + select(func.count(Scan.id)).where(Scan.user_id == user_id, Scan.barcode == "PHOTO") + ) + photo_scans = photo_res.scalar() or 0 + + checks = { + "first_scan": total_scans >= 1, + "detective": total_scans >= 10, + "expert": total_scans >= 50, + "master": total_scans >= 100, + "photographer": photo_scans >= 5, + } + + new_unlocked = [] + for code, condition in checks.items(): + if code in all_achievements and all_achievements[code].id not in unlocked_ids and condition: + ua = UserAchievement(user_id=user_id, achievement_id=all_achievements[code].id) + db.add(ua) + new_unlocked.append(all_achievements[code].name) + + if new_unlocked: + await db.commit() + + return new_unlocked diff --git a/docs/ARQUITETURA-TECNICA.pdf b/docs/ARQUITETURA-TECNICA.pdf index 75bea33a2bcbf9b829b8a1a130457ff804d0f694..d4ef5533c91a9f10892ae5eece9b9374bb62f31d 100644 GIT binary patch literal 5056440 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

    J-PFnyU?LS5 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