OrderFlow es un sistema de gestión de pedidos en línea que utiliza microservicios con Node.js y Express. La comunicación entre los microservicios se realiza a través de RabbitMQ. Dos bases de datos, MongoDB y MySQL, son utilizadas por microservicios específicos para gestionar la persistencia de datos.
- Funciones: Recepción de pedidos, validación de disponibilidad de productos, gestión de estados de pedidos.
- Comunicación: Produce y consume mensajes en la cola RabbitMQ.
- Funciones: Gestión de inventario, actualización del inventario al recibir notificaciones de pedidos.
- Comunicación: Consume y produce mensajes en la cola RabbitMQ.
- Funciones: Coordinación de logística de envío, asignación de pedidos a servicios de envío, actualización de estados de envío.
- Comunicación: Consume y produce mensajes en la cola RabbitMQ.
- Funciones: Envío de notificaciones a clientes sobre estados de pedidos y envíos, gestión de preferencias de notificación.
- Comunicación: Consume y produce mensajes en la cola RabbitMQ.
- Node.js (v14 o superior)
- RabbitMQ (servidor y configuración)
- MongoDB (para Microservicio de Inventario)
- MySQL (para Microservicio de Envío)
- Clona el repositorio:
git clone https://github.com/tu-usuario/order-flow.git
- Configura las propiedades de cada microservicio en sus respectivos archivos de configuración.
- Instala las dependencias:
npm install
- Inicia cada microservicio:
npm start
- Asegúrate de que RabbitMQ, MongoDB y MySQL estén en ejecución y configurados correctamente.
- Accede a la documentación del API proporcionada por el Gateway.
- Realiza solicitudes a través del Gateway API.
- Monitorea la cola RabbitMQ para mantener la coherencia entre microservicios.
¡Las contribuciones son bienvenidas! Si encuentras problemas o mejoras posibles, por favor, abre un problema o envía una solicitud de extracción.
Este proyecto está licenciado bajo la Licencia MIT.