A sample e-commerce application demonstrating modern microservices and cloud-native architecture patterns.
This project showcases a full-stack e-commerce solution built with:
- Polyglot Languages & Frameworks: Java (Spring Boot/Cloud), Python (FastAPI, SQLAlchemy), JavaScript/TypeScript (Node.js, Express.js, React)
- Polyglot Databases: MongoDB, Redis, Elasticsearch, PostgreSQL
- Deployment Options: Local Kubernetes (k8s) cluster with Docker containers or Public Cloud (AWS)
The application demonstrates how to build a modern cloud-native application using microservices architecture with independently deployable services, each with its own bounded context.
| Architecture | Application UI/UX |
|---|---|
![]() |
![]() |
| Microservice | Description | Technologies |
|---|---|---|
| Product Catalog Microservice | Provides e-commerce merchandise information and images | REST API built with Node.js and Express.js, using MongoDB as the data store |
| Shopping Cart Microservice | Shopping cart and checkout functionality | REST API built with Spring Boot & Spring Cloud, using Gradle as the build tool and Redis as an in-memory data store |
| User Profile Microservice | User profile management and account features | REST API built with Python FastAPI and SQLAlchemy, using PostgreSQL as the database |
| Search Microservice | Search functionality including autocomplete, typeahead, and faceted search | Elasticsearch proxy built with Node.js |
| Store UI | Web frontend for the e-commerce store that integrates with all microservices | Web application built with React and Material UI using TypeScript/JavaScript |
.
├── store-ui # Web Store React App with Material UI
├── cart-cna-microservice # Shopping Cart Microservice
├── products-cna-microservice # Product Catalog Microservice
├── search-cna-microservice # Search Microservice
├── users-cna-microservice # User Profile Management Microservice
└── infra # Infrastructure scripts for local and cloud deployment
├── k8s # Kubernetes (k8s) YAML files
│ ├── apps # Microservices-related k8s YAML files
│ └── shared-services # Databases and Elasticsearch-related k8s YAML files
├── terraform # Terraform scripts for AWS deployment
└── performance # Performance and load testing scripts
- Docker and Docker Compose (for local development)
- Kubernetes cluster (for k8s deployment)
- AWS account (for cloud deployment)
- Node.js, Java, and Python development environments (for building services)
For detailed build instructions, refer to the README.md file in each microservice directory:
- Product Catalog Microservice
- Shopping Cart Microservice
- User Profile Microservice
- Search Microservice
- Store UI
Refer to the infrastructure deployment instructions to deploy the application and dependent services (MongoDB, Redis, Elasticsearch, PostgreSQL) to either:
- Local machine/development environment
- AWS cloud infrastructure
Issues and feedback are welcome! Please raise an issue on GitHub, and we'll address it as soon as possible.

