Ginger es una plataforma integral para el seguimiento nutricional que combina una interfaz moderna y fluida con un backend robusto potenciado por IA. Simplifica el registro de calorías, macros y ayuno intermitente mediante procesamiento de lenguaje natural.
- 🤖 Registro con IA: Escribe lo que comiste (ej. "arroz con pollo") y el sistema procesa automáticamente las calorías y macros gracias al módulo de IA del backend.
- 📊 Dashboard Interactivo: Visualización en tiempo real de calorías, proteínas, carbohidratos, azúcar e hidratación.
- ⏱️ Control de Ayuno: Temporizador integrado para protocolos (ej. 16:8) sincronizado con tu ingesta.
- 📈 Evolución: Gráficos de peso y ajustes automáticos de objetivos basados en tu TDEE y datos biométricos.
- 📱 Diseño Responsive: Interfaz adaptada a cualquier dispositivo.
El proyecto está estructurado como un monorepo con separación clara de responsabilidades:
Ginger/
├── backend/ # API REST con Spring Boot & Java
├── frontend/ # SPA con React, TypeScript & Vite
├── infra/ # Configuración de Docker Compose
└── res/ # Recursos estáticos (imágenes)
- Framework: React + Vite
- Lenguaje: TypeScript (
.tsx,.ts) - Estilos: Tailwind CSS
- Componentes UI: shadcn/ui (basado en la carpeta
components/uiycomponents.json) - Gestión de Estado/Datos: React Hooks & Props
- Framework: Spring Boot
- Lenguaje: Java
- Gestor de Dependencias: Gradle (Wrappers incluidos:
gradlew) - Arquitectura: Capas (Controller, Service, Repository, Domain)
- Inteligencia Artificial: Módulo dedicado
com.ginger.backend.aipara el procesamiento de texto.
- Contenedorización: Docker
- Orquestación: Docker Compose (configuración en
infra/docker-compose.yml)
Sigue estos pasos para ejecutar el proyecto en local:
- Node.js (v24 o superior)
- NPM o Yarn
- Backend corriendo en el puerto
8081(o configurar variable de entorno).
-
Clonar el repositorio:
git clone [https://github.com/tu-usuario/ginger-app.git](https://github.com/tu-usuario/ginger-app.git) cd ginger-app -
Instalar dependencias:
npm install # o yarn install -
Configurar Variables de Entorno: Crea un archivo
.env.localen la raíz del proyecto:NEXT_PUBLIC_API_URL=http://localhost:8081/api NEXT_PUBLIC_LLM_API_KEY=tu_api_key_aqui
-
Iniciar el servidor de desarrollo:
npm run dev
-
Abre http://localhost:3000 en tu navegador.
| Historial de Comidas | Perfil de Usuario |
|---|---|
![]() |
![]() |
Las contribuciones son bienvenidas. Por favor, abre un issue primero para discutir qué te gustaría cambiar.
- Haz un Fork del proyecto.
- Crea tu rama de funcionalidad (
git checkout -b feature/AmazingFeature). - Haz Commit de tus cambios (
git commit -m 'Add some AmazingFeature'). - Haz Push a la rama (
git push origin feature/AmazingFeature). - Abre un Pull Request.
Distribuido bajo la licencia MIT. Ver LICENSE para más información.
Backend endpoint visible en las capturas: http://localhost:8081/api


