Back to all projects

Order Management

Order Management

About the project

Summary and purpose

This project implements an Order Management System using a microservices architecture in Go. It consists of five distinct microservices that communicate and work together to complete a user's order.

Microservice overview

How all pieces works together

Orders Service
• Validate Order Details → Talk with stock service
• CRUD of orders
• Initiates the Payment Flow → by sending an event

Stock Service
• Handle Stock
• Validates order quantities
• Return items as menu

Menu Service
• Store items as menu

Payment Service
• Initiates a payment with a 3rd part provider
• Produces an order paid/cancelled event to orders, stock and kitchen

Kitchen Service
• Long running process of a "Simulated kitchen staff"

Tech Stack

GogRPCRabbitMQDockerMongoDBJaegerHashiCorp ConsulStripe