Mini-Commerce is a polyglot, event-driven e-commerce portfolio system demonstrating modern microservices architecture, SDLC, and analytics. It showcases:
- Polyglot microservices: Java (Spring Boot), Node.js (Nest), Python (FastAPI), Go
- Event-driven architecture: Kafka (order lifecycle, audit, analytics)
- APIs: REST + OpenAPI, data persistence (Postgres, MongoDB), dbt analytics, RAG for explainable LLM answers
- DevEx/SDLC: Code quality, tests, CI/CD (GitHub Actions), IaC (Terraform), Azure (AKS, ACR, Event Hubs Kafka), Docker, Helm, Observability
- End-to-end order lifecycle: From order creation to fulfillment, with real-time status and analytics
- Gateway: API aggregation, auth mock, rate limiting
- Order Service: Authoritative order domain, event publishing, transactional outbox
- Payment Service: Idempotent payments, retries, circuit breaker
- Inventory Service: Stock checks, reservations, Kafka consumer
- Fulfillment Service: Event-driven shipping, webhooks, idempotency
- Analytics Service: Metrics agent, RAG, dbt marts
- Admin UI: React dashboard, chat with LLM
See docs/diagrams for more diagrams.
- Transactional Outbox for reliable event publishing (ADR)
- Observability: OpenTelemetry, correlation IDs, Grafana/Loki
- CI/CD & IaC: GitHub Actions, Helm, Terraform, Azure
- Explainable Analytics: dbt, pgvector, RAG, provenance
- Prerequisites: Docker, Docker Compose
- Run locally:
docker-compose up --build
- Access services:
- Gateway: http://localhost:8080
- Admin UI: http://localhost:3000
- Service APIs: see docs/api
- Create Order → Payment → Inventory → Fulfillment → Status in UI
- Admin UI: Orders, statuses, chat with LLM (metrics, RAG)
- Data Ops: Mongo → Postgres → dbt → Analytics
- Webhooks/Integrations: Fulfillment, carrier simulation
- Languages: Java 21, Node.js 20, Python 3.11, Go 1.22
- Data: PostgreSQL, MongoDB, Kafka
- Analytics: dbt, pgvector
- Testing: JUnit, Jest, pytest, testify, Playwright
- Platform: Azure, Docker, Helm, Terraform
For deep technical details, see each service's README and docs/adr.
