Skip to content

melodia-grupo09/melodia-notification-service

 
 

Repository files navigation

Nest Logo

Coverage

Notification Service Microservice

Este microservicio es el encargado de la gestión de notificaciones dentro de Melodia. Su responsabilidad abarca desde la orquestación de la lógica de envío, el manejo de notificaciones push a través de Firebase Cloud Messaging, hasta el almacenamiento del historial en una base de datos PostgreSQL.

🧪 Estrategia de Testing

El proyecto utiliza testings de integración para asegurar la calidad del servicio.

Business Modules (Integración)

Para los módulos de negocio, utilizamos Cucumber. Esto nos permite definir pruebas de integración basadas en comportamiento (BDD) que verifican que los flujos de la aplicación y requisitos de negocio se cumplan.

  • Herramienta: Cucumber
  • Ubicación: test/
  • Comando: npm run test:e2e:cov

🛡️ Calidad y CI/CD

Husky

Utilizamos Husky para gestionar nuestros Git Hooks. Esto asegura que antes de cada commit o push, el código cumpla con los estándares de calidad definidos (linting, formatting), evitando que código con errores llegue al repositorio.

Integración Continua

Nuestro pipeline de CI automatizado se encarga de:

  1. Validar el código (Linting).
  2. Ejecutar la suite completa de tests.
  3. Generar el reporte de cobertura.
  4. Actualizar el badge de coverage en este README.

🚀 Ejecución Local

Para correr el proyecto en local, seguí estos pasos:

1. Prerrequisitos

  • Node.js (versión 20+ recomendada)
  • Docker para levantar la base de datos PostgreSQL.

2. Instalación

Instala las dependencias del proyecto:

npm install

3. Variables de Entorno

Asegurate de tener un archivo .env (se puede copiar el archivo .env.example y renombrarlo a .env) configurado en la raíz del proyecto con las variables necesarias (DB URL, Credenciales de Firebase, etc.).

4. Iniciar el servicio

Levantá la base de datos:

docker compose up -d

Inicia la aplicación:

# Modo desarrollo (con watch)
npm run start:dev

# Modo producción
npm run start:prod

El servicio estará disponible en http://localhost:3000 (o el puerto configurado).

About

Notification service for Melodia App

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 90.3%
  • Gherkin 6.4%
  • JavaScript 3.3%