Este repositorio contiene un microservicio desarrollado con NestJS que se conecta a Kafka para consumir mensajes en tiempo real. Este servicio puede ser utilizado para integrar diferentes sistemas que lo requieran y mantener un seguimiento de los cambios que ocurren en tu sistema a través de Kafka.
Para utilizar este microservicio es necesario contar con NodeJS y NestJS instalados. Además, se debe contar con acceso a un cluster de Kafka y configurar adecuadamente las variables de entorno.
- Clonar este repositorio en tu máquina local.
- Ejecutar el comando
npm install
para instalar las dependencias. - Configurar las variables de entorno en el archivo
.env
, utilizando el archivo.env.example
como referencia. - Ejecutar el comando
npm start
para iniciar el microservicio.
Para ejecutar los tests del microservicio, utiliza el siguiente comando:
npm run test
Este comando ejecutará los tests unitarios y de integración, utilizando Jest como framework de pruebas.
Recuerda que para ejecutar los tests es necesario tener un cluster de Kafka disponible para realizar las pruebas de integración. Puedes configurar las variables de entorno para utilizar un cluster de Kafka en un ambiente de desarrollo o pruebas.
Antes de iniciar el microservicio, asegúrate de tener un cluster de Kafka disponible. Si no tienes uno disponible, puedes utilizar Docker Compose para iniciar un cluster de Kafka localmente:
docker-compose up -d
Este comando iniciará un cluster de Kafka en Docker, el cual puedes utilizar para pruebas o desarrollo.
Una vez iniciado el cluster de Kafka, puedes iniciar el microservicio con el siguiente comando:
npm start
Recuerda detener el cluster de Kafka de Docker Compose cuando termines de utilizarlo:
docker-compose down
Si deseas contribuir a este proyecto, por favor sigue los siguientes pasos:
- Haz un fork de este repositorio.
- Crea una rama con tu nueva funcionalidad o arreglo.
- Realiza tus cambios y verifica que todo funciona correctamente.
- Realiza una solicitud de extracción a la rama principal de este repositorio.
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE para más detalles.