smooth-app
전 세계 식품의 성분·영양·정보를 자유롭게 협업하고 공개하는 데이터베이스
음식 사진을 올리면 HSNutrición이 식품을 인식해 영양 정보를 제공하고 더 건강한 대체품을 추천
Describe lo que comes o sube una foto y HSNutrición detecta los alimentos, los califica y te recomienda sustitutos más saludables con toda la información nutricional.
건강HTML · JavaScriptGitHub @SrHSGAMES온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Guía nutricional que detecta alimentos por texto o imagen, los califica de A a E y recomienda sustitutos más saludables. Los alimentos que no están en la guía local se generan al momento con IA, respaldados por estudios reales de PubMed.README 전문 보기 ↗
Guía nutricional que detecta alimentos por texto o imagen, los califica de A a E y recomienda sustitutos más saludables. Los alimentos que no están en la guía local se generan al momento con IA, respaldados por estudios reales de PubMed.
index.html, css/styles.css, js/ — sitio estático (sin build).js/data.js — base de datos nutricional local (41 alimentos).api/analyze-image.js — función serverless: detecta alimentos en una foto.api/food-lookup.js — función serverless: busca en PubMed y genera con IA
la ficha de un alimento que no está en js/data.js. Si ya se generó antes
(para cualquier visitante), la devuelve al instante desde el almacén
compartido sin volver a llamar a la IA.api/community-foods.js — función serverless: devuelve todos los alimentos
que la IA ha generado hasta ahora, para que la guía y la detección por
texto/imagen los reconozcan en cualquier visita.api/register.js, api/login.js, api/logout.js, api/me.js — funciones
serverless de cuentas de usuario (registro, inicio/cierre de sesión y
comprobación de sesión activa), pensadas como base para futuras
herramientas personalizadas.Las funciones usan GEMINI_API_KEY (API gratuita de Google Gemini)
solo en el servidor; el navegador nunca ve la clave.
El mismo almacén (Upstash Redis, nivel gratuito) se usa para dos cosas:
api/register.js,
api/login.js) lo necesitan para funcionar; sin configurarlo, esas dos
funciones devuelven un error explícito en vez de fallar en silencio.js/data.js, la ficha que genera
la IA se guarda aquí. Así, la siguiente persona que busque ese mismo
alimento —o lo mencione en un texto o una foto— lo recibe al instante, sin
gastar cuota de la IA ni esperar. Esta parte sí es opcional: sin el almacén
configurado, la búsqueda con IA sigue funcionando igual, pero cada persona
la repite para sí misma en su propia sesión (y el login no funcionará).Cómo activarlo (2 minutos, sin salir de Vercel):
UPSTASH_REDIS_REST_URL / UPSTASH_REDIS_REST_TOKEN, o KV_REST_API_URL
/ KV_REST_API_TOKEN según el proveedor). Si usa otros nombres, cópialos
con los nombres de .env.example o ajusta api/_lib/store.js.vercel directamente desde esta carpeta).GEMINI_API_KEY (obligatoria) — tu clave gratuita de Google AI Studio.GEMINI_MODEL (opcional) — por defecto gemini-2.5-flash.NCBI_API_KEY y NCBI_EMAIL (opcionales) — para tener más cuota al
consultar PubMed.UPSTASH_REDIS_REST_URL y UPSTASH_REDIS_REST_TOKEN — necesarias para
el registro/inicio de sesión; también permiten que los alimentos
generados por IA se compartan entre todas las visitas (ver sección
siguiente)./api/* quedan servidas juntas.npm i -g vercel
vercel login
vercel # despliegue de prueba
vercel env add GEMINI_API_KEY
vercel --prod # despliegue a producción
Para probar solo la interfaz (sin las funciones de IA), sirve la carpeta con
cualquier servidor estático, por ejemplo python -m http.server.
Para probar también /api/analyze-image y /api/food-lookup necesitas la
CLI de Vercel y la variable de entorno configurada en un archivo .env.local
(basado en .env.example):
vercel dev
La información nutricional es orientativa y educativa (valores de referencia por 100 g). No sustituye la valoración de un dietista-nutricionista o médico.