Zesty is an Order Management System built with Go microservices, designed to simplify the process of managing orders.The system integrates various services to provide efficient order processing. Each service operates independently, providing scalability to handle workflows.The system uses MongoDB as its storage layer, integrates with Jaeger UI for tracing and HashiCorp Consul for service discovery
- Uses gRPC for efficient inter-service communication
- RabbitMQ as the message broker to decouple services
- HashiCorp Consul for service discovery
- Integrated Stripe API for payment processing
- Configured dead letter queues to improve reliability by handling unprocessed messages
-
Clone the repository
git clone https://github.com/your-repo/order-management.git
-
Install dependencies
go work sync
-
Set up environment var - stripe api key, db addr and all
-
Start postgres, rabbitmq, consul, mongo
docker-compose up -d
-
Run each microservice (order, payment, gateway) with hot reloading
cd order && air cd gateway && air cd payment && air ...