Digital Marketplace
A scalable, cloud-native e-commerce platform built with Spring Boot microservices on AWS EKS, Angular frontend, and DynamoDB
Tech Stack :

Digital Marketplace Platform
Overview
A full-featured digital marketplace platform that enables users to buy and sell products seamlessly. Built with modern microservices architecture, the platform leverages Spring Boot for backend services, Angular for the frontend, and integrates with multiple AWS services to ensure scalability, reliability, and security.
Key Features
- Multi-Role Authentication — Customer, Seller, and Courier roles with Amazon Cognito
- Product Management — Complete CRUD operations with S3 image storage and pre-signed URLs
- Order Processing — End-to-end order management with status tracking (placed → dispatched → delivered)
- Delivery Contracts — Dynamic courier assignment and contract management between sellers and couriers
- Review System — Product and courier ratings (1–5) with reviews
- Advanced Search — Filter products by category, price range, and text search with pagination
- Secure — JWT-based authentication with role-based access control (RBAC)
- Scalable — Microservices deployed on AWS EKS with auto-scaling across multiple availability zones
Microservices Architecture

The platform consists of three Spring Boot microservices deployed on AWS EKS:
- User Service — Authentication, registration, and profile management (Customer, Seller, Courier)
- Product Service — Product CRUD, image uploads via S3 pre-signed URLs, search and filtering
- Order Service — Order lifecycle management, contract handling, and review system
Services communicate over the Kubernetes internal network using DNS service names, with an Ingress controller routing external traffic via path-based mapping.
Infrastructure & DevOps
- Compute: AWS EKS with multi-AZ deployment across 2 availability zones, 2 worker nodes per AZ
- Database: Amazon DynamoDB with Global Secondary Indexes for optimized queries
- Storage: Amazon S3 for product images and static web hosting for the Angular frontend
- Auth: Amazon Cognito for user authentication and JWT token management
- CI/CD: Jenkins pipeline (Source → Maven → Docker → ECR → EKS) for backend; AWS CodePipeline (Source → CodeBuild → S3 → CodeDeploy) for frontend
- Networking: VPC with public/private subnets, NAT Gateways, Internet Gateway, security groups
- Monitoring: Amazon CloudWatch for logging and metrics
- IaC: AWS CloudFormation for infrastructure provisioning
Design Patterns
- Repository Pattern — Data access abstraction for DynamoDB operations
- Builder Pattern — AWS SDK client construction
- Chain of Responsibility — Security filter chains for authentication
- DTO Pattern — Clean data transfer between layers
- Adapter Pattern — JWT authentication integration
- Facade Pattern — Simplified DynamoDB operations interface
Security
- Kubernetes Secrets for credential management
- Amazon Cognito for verified user registration
- IAM policies with least-privilege access
- JWT validation on all authenticated endpoints
- Private subnets for application pods with public Ingress controller
- Encryption at rest (DynamoDB with KMS, S3 with SSE-S3)
Tech Stack
- Spring Boot 3.2.3 | Java 17 | Maven
- Angular 18 | Angular Material | NgRx
- AWS EKS | DynamoDB | S3 | Cognito | CloudFormation
- Docker | Kubernetes | Jenkins | NGINX
- AWS CodePipeline | CodeBuild | CodeDeploy
A cloud-native e-commerce platform demonstrating production-grade microservices architecture on AWS.
