This project implements an Order Processing Integration system for a large-scale e-commerce platform, integrating Sales and Delivery systems to support a complete order lifecycle with reliable inter-service communication.
The implementation follows Hexagonal Architecture (Ports & Adapters) pattern with REST APIs built using Fastify (TypeScript), asynchronous messaging via RabbitMQ, event streaming with Kafka, and comprehensive observability.
- Design System Document - Complete architecture overview, components, flows, and technology stack
- Sales API Design - Implementation design for Sales API
- Delivery API Design - Implementation design for Delivery API
- Sales Dashboard Design - Implementation design for Sales Dashboard
- Delivery Dashboard Design - Implementation design for Delivery Dashboard
- Component Diagram - High-level architecture with all components
- Order Creation Sequence - Complete order creation flow
- Order Shipment & Delivery Sequence - Shipment and delivery lifecycle
- Error Handling & Retry Sequence - Reliability mechanisms
- Sales Dashboard - Login
- Sales Dashboard - Create Order
- Delivery Dashboard - Pending
- Delivery Dashboard - In Transit
- Delivery Dashboard - Deliverd
- Sales Dashboard - Deliverd
- Docker & Docker Compose installed
- Stop any local services (PostgreSQL, Redis, RabbitMQ, Kafka) using default ports to avoid conflicts
cd dockers
docker-compose up -dOr use VS Code Tasks:
- Press
Ctrl+Shift+P→ "Tasks: Run Task" - Select "🚀 Docker: Start All Services"
Wait 1-2 minutes for all services to become healthy.
| Dashboard | URL | Login |
|---|---|---|
| Sales | http://localhost:8080 | tester / tester |
| Delivery | http://localhost:8081 | tester / tester |
| Service | URL |
|---|---|
| Sales API | http://localhost:3000/api/v1 |
| Delivery API | http://localhost:3001/api/v1 |
| RabbitMQ UI | http://localhost:15672 (admin/admin) |
- Sales Dashboard → Create order → See "Pending Shipment"
- Delivery Dashboard → Ship → Deliver
- Sales Dashboard → Verify status updates
docker-compose down # Stop (keeps data)
docker-compose down -v # Stop + delete dataOr use VS Code Tasks:
Ctrl+Shift+P→ "Tasks: Run Task"- "🛑 Docker: Stop All Services" - Stop all services
- "🗑️ Docker: Remove All Services" - Stop and delete all data
- "🔄 Docker: Restart All Services" - Restart everything
- "🔨 Docker: Rebuild & Start All Services" - Full rebuild