Code Monkey home page Code Monkey logo

trackalories's Introduction

⚠️ Advertencia

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

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).

Funcionalidades

A continuación se presentan las capturas de pantalla de las diferentes funcionalidades de la aplicación Trackalories:

1. Página de Inicio

La página de inicio muestra una visión general de la aplicación y permite a los usuarios navegar a otras secciones.

Landing

2. Página de Diario

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.

Diario

3. Página de Inicio de Sesión

Permite a los usuarios autenticarse en la aplicación ingresando sus credenciales.

Inicio de Sesión

4. Página Personal

Permite a los usuarios ver y editar su información personal y preferencias.

Personal

5. Página de Registro

Permite a los nuevos usuarios registrarse en la aplicación proporcionando la información requerida.

Registro

6. Página de Búsqueda

Permite a los usuarios buscar alimentos y agregar entradas a su diario de comidas.

Búsqueda

7. Página de seguimiento del peso

Permite a los usuarios introducir el peso diario, ver el registro y un calculo de las calorias segun objetivos

Peso

8. Descripcion de imagenes por IA (Funcionalidades extra)

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

Describe

Dependencias Obligatorias

  • Node.js (v20.15.1)
  • npm (v10.2.4)
  • MongoDB

Requisitos Previos

Base de datos MongoDB, node y npm, Api Key del buscador de alimentos.

Clonar el Repositorio

Clona el repositorio del proyecto:

git clone https://github.com/tu-usuario/trackalories.git
cd trackalories

Configuración del Backend

  1. Navega al directorio del backend:

    cd BACKEND
  2. Instala las dependencias del backend:

    npm install
  3. Crea un archivo .env en el directorio BACKEND 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
    
  4. Compila el proyecto backend:

    npm run build
  5. Inicia el servidor backend:

    npm start

El servidor backend debería estar corriendo en http://localhost:PORT.

Configuración del Frontend

  1. Navega al directorio del frontend:

    cd ../FRONTEND
  2. Instala las dependencias del frontend:

    npm install
  3. Crea un archivo .env en el directorio FRONTEND 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
    
  4. Inicia el servidor frontend:

    npm start

El servidor debería estar corriendo en http://localhost:PORT.

Configuración de IA

  1. Navega al directorio :

    cd IA
  2. Instala las dependencias :

    npm install
  3. Inicia el servidor :

    npm run dev

Scripts Disponibles

(Backend y Frontend funcionan independientemente)

Backend

  • 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.

Frontend

  • npm start: Inicia el servidor de desarrollo.
  • npm run build: Compila la aplicación para producción.
  • npm run cypress: Ejecuta las pruebas e2e.

IA

  • npm run dev: Inicia el servidor en modo desarrollo.

Contribuciones

Las contribuciones son bienvenidas. Para contribuir:

  1. Haz un fork del proyecto.
  2. Crea una nueva rama (git checkout -b feature/nueva-caracteristica).
  3. Realiza tus cambios y haz commits (git commit -am 'Añadir nueva característica').
  4. Envía tus cambios (git push origin feature/nueva-caracteristica).
  5. Abre un Pull Request.

Licencia

Este proyecto está licenciado bajo la Licencia MIT.

Créditos

Este proyecto utiliza el paquete transformers de Xenova para la descripcion de imágenes.


trackalories's People

Contributors

jorbelca avatar

Watchers

 avatar

trackalories's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.