A real-time auction platform built with microservices architecture, deployed on AWS EKS.
| Functionality | Tejaswini | Komal | Frank | Shwetanshu |
|---|---|---|---|---|
| Real-Time Bidding Mechanism | ✔ | ✔ | ✔ | |
| Dynamic Timer Countdown | ✔ | ✔ | ||
| Auction Infrastructure Spin-up | ✔ | ✔ | ✔ | |
| Leaderboard | ✔ | ✔ | ||
| Notifications | ✔ | ✔ | ||
| Sniping Prevention & Rate Limiting | ✔ | ✔ | ||
| API Configuration | ✔ | ✔ | ✔ | |
| Frontend (UI) | ✔ | ✔ | ✔ | |
| Backend & Deployment (Devops) | ✔ | ✔ | ✔ |
This project implements a live flash auction system with real-time bidding, countdown timers, anti-sniping logic, and automated notifications. The backend is fully deployed on AWS EKS, and the frontend is ready for deployment.
- Auction Management Service (Port 8000) - CRUD operations, auction lifecycle management
- Bid Processing Service (Port 8002) - Atomic bid validation, anti-snipe logic
- WebSocket Service (Port 8001) - Real-time updates, chat, participant tracking
- Timer Service (Port 8003) - Countdown management, auction end detection
- EKS Cluster:
live-auction-eks-cluster(Kubernetes 1.31) - RDS PostgreSQL: Primary database for auctions and users
- ElastiCache Redis: Real-time state management and pub/sub
- DynamoDB: Bid history persistence
- SQS: Message queues for async processing
- Lambda: Bid persistence and notification handlers
- Cognito: User authentication and authorization
- ALB: Application Load Balancer for service exposure
- AWS CLI configured with appropriate credentials
- kubectl configured for EKS cluster
- Docker Desktop installed
- Node.js 18+ installed
- ENTIRE_PHASE_GUIDELINES.md - Step-by-step AWS setup guide
- backend/README.md - Backend architecture and setup
- frontend/README.md - Frontend setup instructions
live-flash-auction/
├── backend/ # Backend microservices
│ ├── auction-management-service/
│ ├── bid-processing-service/
│ ├── websocket-service/
│ ├── timer-service/
│ ├── shared/ # Shared code and utilities
│ ├── lambdas/ # Lambda functions
│ └── k8s/ # Kubernetes manifests
├── frontend/ # React + TypeScript frontend
├── infra/ # Infrastructure as code
├── scripts/ # Deployment and utility scripts
└── README.md # This file
Exact commands can differ depending on your environment. Use the component READMEs as the source of truth.
- Clone
git clone https://github.com/Tj-Github30/live-flash-auction
cd live-flash-auction- Backend
Follow backend/README.md
- Frontend
Follow frontend/README.md
Frontend environment variables
Create frontend/.env:
VITE_API_BASE_URL=<ALB_URL_OR_LOCAL_API_BASE>
VITE_COGNITO_CLIENT_ID=<your-client-id>
VITE_COGNITO_REGION=us-east-1Start here: ENTIRE_PHASE_GUIDELINES.md
All Services:
./redeploy-all-services.shIndividual Services:
./redeploy-auction-service.sh./redeploy-bid-processor-service.sh./redeploy-websocket-service.sh
./verify-aws-resources.sh# Timer service
kubectl logs -l app=timer -n default --tail=50
# Auction management
kubectl logs -l app=auction-management -n default --tail=50
# WebSocket service
kubectl logs -l app=websocket -n default --tail=50
# Bid processing
kubectl logs -l app=bid-processing -n default --tail=50aws logs tail /aws/lambda/auction-notifications-lambda --since 30m
aws logs tail /aws/lambda/bid-persistence-lambda --since 30m- Check pod status:
kubectl get pods -n default - Check pod logs:
kubectl logs <pod-name> -n default - Check service endpoints:
kubectl get endpoints -n default - Verify ALB:
kubectl get ingress -n default
- Verify ALB URL:
kubectl get ingress -n default - Check CORS configuration in backend services
- Verify API endpoints:
curl http://<ALB_URL>/api/auctions - Check browser console for errors
- Check timer service logs for "Successfully enqueued notification message"
- Check Lambda logs for notification processing
- Verify SQS queue:
aws sqs get-queue-attributes --queue-url <QUEUE_URL> - Verify SES email configuration
All backend services use Kubernetes secrets (auction-secrets). See backend/k8s/ for configuration.
Create frontend/.env with:
VITE_API_BASE_URL=<ALB_URL>
VITE_COGNITO_CLIENT_ID=<your-client-id>
VITE_COGNITO_REGION=us-east-1For questions about:
- AWS Setup: See
ENTIRE_PHASE_GUIDELINES.md - Backend Code: See
backend/README.md - Frontend Code: See
frontend/README.md
This project is part of a Cloud Computing course assignment.