diet - v1.0.0
    Preparing search index...

    diet - v1.0.0

    #DIET BACKEND

    Tecnología Uso Principal
    Node.js Entorno de ejecución principal
    Express Framework web para la API REST
    MongoDB Base de datos NoSQL
    Mongoose ODM para MongoDB
    ws Comunicación en tiempo real con WebSockets
    Winston Sistema de logs para consola y archivos
    Yarn Gestor de dependencias
    TypeDoc Generación automática de documentación
    GitHub Actions Automatización CI/CD
    nodemon Recarga automática del servidor en desarrollo
    dotenv Manejo seguro de variables de entorno .env
    ESLint Linter para mantener código limpio y consistente
    Passport.js Middleware de autenticación
    Express Session Manejo de sesiones de usuario

    Este backend expone 3 APIs funcionales: dos RESTful y una WebSocket para eventos en tiempo real.

    Tipo de API Nombre Ruta base Endpoints principales Tecnología principal
    REST Diet API /api/diet GET, POST, PUT, DELETE Express.js
    REST Auth API /auth POST /register, /login, GET /perfil, /logout Express.js + Passport.js
    WebSocket DietEventsWS - Emisión de eventos al crear/modificar dietas ws (WebSocket Server)

    🔔 La API WebSocket se activa automáticamente al iniciar el servidor en el puerto definido por la variable PORTWS.


    Este backend soporta tres formas de persistencia seleccionables vía variable de entorno:

    • MODO_PERSISTENCIA=MEM ➝ Persistencia en memoria (ideal para tests).
    • MODO_PERSISTENCIA=FILE ➝ Persistencia en archivo plano.
    • MODO_PERSISTENCIA=MONGO ➝ Persistencia en base de datos MongoDB.

    Ruta base: /api/diet

    Método Ruta Descripción
    GET /api/diet Obtener todas las dietas
    POST /api/diet Crear nueva dieta
    GET /api/diet/:id Obtener dieta por ID
    PUT /api/diet/:id Actualizar dieta existente
    DELETE /api/diet/:id Eliminar dieta por ID

    • Inicia automáticamente en el puerto definido (PORTWS)
    • Envia notificaciones a clientes conectados al crear/modificar dietas.

    PORT=8080
    PORTWS=8081
    MODO_PERSISTENCIA=MONGO
    MONGO_URI=mongodb://localhost:27017/apiDieta