This repository contains a full-featured auction platform built with a microservices architecture. It leverages Docker for containerization and Kubernetes for orchestration, supporting local development and production deployments.
| Student ID | Name | GitHub Profile |
|---|---|---|
| EG/2020/3990 | Jayasooriya L.P.M. | |
| EG/2020/3994 | Jayathilake H.A.C.P. | |
| EG/2020/3996 | Jayawardhana M.V.T.I. | |
| EG/2020/4040 | Lakpahana A.G.S. |
- ArgoCD Configuration - GitOps continuous deployment setup
For the complete architecture overview, see the Full Details Report.
Key configuration files:
- Kubernetes:
k8s/configmaps/auction-configmap.yaml - Docker Compose:
.envfiles in service directories - Secrets:
k8s/secrets/auction-secrets.yaml
- AWS S3 - File storage (optional, falls back to local storage)
- Stripe - Payment processing (test keys included)
- Email Service - SMTP configuration for notifications
This application consists of 10 microservices deployed on Kubernetes, implementing advanced patterns like CQRS, Saga, Circuit Breaker, and Event-Driven Architecture.
| Service | Port | Responsibility |
|---|---|---|
| API Gateway | 3001 | Single entry point, request routing, CORS handling |
| Auth | 3101 | User authentication and authorization |
| Bid | 3102 | Bid placement and management |
| Listings | 3103 | Auction listings management |
| Payments | 3104 | Payment processing via Stripe |
| Profile | 3105 | User profile management |
| 3106 | Email notifications | |
| Expiration | 3107 | Time-based operations (auction deadlines) |
| Saga Orchestrator | 3108 | Distributed transaction management |
| Frontend | 3000 | React-based user interface |
- 5 MySQL Database instances - One per domain service
- NATS Streaming - Event-driven communication
- Redis - Caching and session storage
- Jaeger - Distributed tracing
- NGINX Ingress - Load balancing and SSL termination
- Database passwords and connection strings
- JWT secret key
- Stripe API keys (test keys included)
- AWS S3 credentials (optional)
- SMTP email configuration
- AWS S3 - File storage for profile images (falls back to local storage)
- Stripe - Payment processing (test keys provided)
- Email Service - SMTP configuration for notifications
- Microservices Architecture - Domain-driven service decomposition
- API Gateway Pattern - Single entry point for client requests
- Database per Service - Isolated data stores
- Event-Driven Architecture - Asynchronous communication via NATS
- Saga Pattern - Distributed transaction management
- CQRS - Command Query Responsibility Segregation
- Circuit Breaker - Fault tolerance and resilience
- Bulkhead - Resource isolation
- Synchronous: REST APIs for direct queries
- Asynchronous: Event streaming for state propagation
- Message Broker: NATS Streaming Server
- Kubernetes Deployment Guide - Complete K8s deployment instructions
- Quick Start Guide - Fast deployment reference
- Complete Setup Guide - Comprehensive setup instructions
- Circuit Breaker Guide - Resilience patterns
- User Registration Saga - Distributed transactions
- AWS Secrets Manager - Secret management