La funcionalidad de búsqueda no funciona en producción en la versión actual del proyecto. Aunque funciona correctamente en el entorno de desarrollo, puede haber problemas o limitaciones en la configuración de producción.
Por favor, utilice la funcionalidad de búsqueda solo en el entorno de desarrollo hasta que resuelva este problema.
Trackalories es una aplicación para rastrear la ingesta de calorías. El proyecto consta de un backend desarrollado en Node.js y TypeScript con MongoDB, y un frontend construido con React, TypeScript y Vite, además de ESLint en ambos, ademas en el directorio IA hay una endpoint con una funcionalidad de descripción de imágenes (implementacion de la biblioteca transformers de Xenova).
A continuación se presentan las capturas de pantalla de las diferentes funcionalidades de la aplicación Trackalories:
La página de inicio muestra una visión general de la aplicación y permite a los usuarios navegar a otras secciones.
Esta es la página principal donde los usuarios pueden ver su diario de comidas. Muestra las entradas de alimentos consumidos y las calorías correspondientes.
Permite a los usuarios autenticarse en la aplicación ingresando sus credenciales.
Permite a los usuarios ver y editar su información personal y preferencias.
Permite a los nuevos usuarios registrarse en la aplicación proporcionando la información requerida.
Permite a los usuarios buscar alimentos y agregar entradas a su diario de comidas.
Permite a los usuarios introducir el peso diario, ver el registro y un calculo de las calorias segun objetivos
Se elige la imagen o se hace una foto y la funcionalidad describe la imagene para poblar mas facilmente los términos de búsqueda. Al clicar la palabra que describe la imagen , se popula directamnte la barra de busqueda. Para Desktop y mobile
- Node.js (v20.15.1)
- npm (v10.2.4)
- MongoDB
Base de datos MongoDB, node y npm, Api Key del buscador de alimentos.
Clona el repositorio del proyecto:
git clone https://github.com/tu-usuario/trackalories.git
cd trackalories
-
Navega al directorio del backend:
cd BACKEND
-
Instala las dependencias del backend:
npm install
-
Crea un archivo
.env
en el directorioBACKEND
con las siguientes variables:SECRET=your_secret_key SALT_ROUNDS=10 MONGO_URI=mongodb://localhost:27017/your_database PORT=3000 MONGO_URI_TEST=mongodb://localhost:27017/your_test_database PORT_TEST=3001
-
Compila el proyecto backend:
npm run build
-
Inicia el servidor backend:
npm start
El servidor backend debería estar corriendo en http://localhost:PORT
.
-
Navega al directorio del frontend:
cd ../FRONTEND
-
Instala las dependencias del frontend:
npm install
-
Crea un archivo
.env
en el directorioFRONTEND
con el siguiente contenido:VITE_API_URL='' VITE_API_URL_TEST='http://localhost:5005' VITE_NUTRITION_API_URL=your_nutrition_api_url VITE_X_APP_ID=your_app_id VITE_X_APP_KEY=your_app_key VITE_APP_TEST=false VITE_PRODUCTION=false VITE_API_URL_PRODUCTION=your_production_api_url
-
Inicia el servidor frontend:
npm start
El servidor debería estar corriendo en http://localhost:PORT
.
-
Navega al directorio :
cd IA
-
Instala las dependencias :
npm install
-
Inicia el servidor :
npm run dev
(Backend y Frontend funcionan independientemente)
npm run build
: Compila el proyecto TypeScript en JavaScript.npm start
: Ejecuta el build.npm run dev
: Inicia el servidor en modo desarrollo.npm test
: Ejecuta el servidor en modo de prueba.
npm start
: Inicia el servidor de desarrollo.npm run build
: Compila la aplicación para producción.npm run cypress
: Ejecuta las pruebas e2e.
npm run dev
: Inicia el servidor en modo desarrollo.
Las contribuciones son bienvenidas. Para contribuir:
- Haz un fork del proyecto.
- Crea una nueva rama (
git checkout -b feature/nueva-caracteristica
). - Realiza tus cambios y haz commits (
git commit -am 'Añadir nueva característica'
). - Envía tus cambios (
git push origin feature/nueva-caracteristica
). - Abre un Pull Request.
Este proyecto está licenciado bajo la Licencia MIT.
Este proyecto utiliza el paquete transformers de Xenova para la descripcion de imágenes.