A highly scalable, production-oriented E-Commerce platform built using Spring Boot microservices, Kafka, Redis, and React Micro-Frontends.
- Micro-Frontend Architecture: Decoupled React frontends (Shell, Admin, Cart, Product, Search, Order).
- Distributed Microservices: 10 independent Spring Boot services (Auth, Catalog, Inventory, Payment, etc.).
- Event-Driven Workflows: Asynchronous communication and notifications using Apache Kafka.
- High-Performance Caching: Distributed caching and session management using Redis.
- Polyglot Persistence: Utilizing PostgreSQL (relational) and MongoDB (document) based on service domain needs.
- Advanced Search: Integrated Elasticsearch for rapid, robust product querying.
- Database per Service Pattern: Each microservice owns its own database to ensure loose coupling.
- Event-Driven Sagas: Kafka enables distributed transactions and asynchronous orchestration.
- Module Federation: Frontend applications are independently deployable and loaded dynamically at runtime.
I have built a suite of automated terminal scripts within the /Scripts directory to make running this complex architecture incredibly simple.
Spins up all necessary background services via Docker Compose.
cd Scripts
./start-infra.shPopulates your databases with sample products, pricing rules, and inventory.
./seed-data.shBoots all 10 Spring Boot services in the background.
./start-backend.shStarts the Micro-Frontend shell and all individual sub-applications.
./start-frontend.shUse our teardown scripts to cleanly turn everything off. They gracefully stop the processes and keep your computer clean.
cd Scripts
./stop-frontend.sh
./stop-backend.sh
./stop-infra.sh(Note: To completely wipe the database data, run docker compose down -v inside the Infra/ folder).
Built to understand how real distributed e-commerce systems are designed, how polyglot persistence strategies are applied, how to manage distributed state using Kafka, and how Micro-Frontend architectures scale in production environments.