- Overview
- Key Features
- Microservices Architecture
- Tech Stack
- System Architecture
- Getting Started
- API Gateway & Endpoints
- Frontend Structure
- Screenshots
- Performance & Scalability
- Security
- Monitoring & Observability
- CI/CD Pipeline
- Contributing
- License
- Contact
ShopSmart is a production-ready, scalable e-commerce platform built using Microservices Architecture. Inspired by industry leaders like Flipkart and Amazon, it delivers a seamless shopping experience with robust backend services, event-driven communication, and a modern React-based UI.
Traditional monolithic e-commerce platforms face:
- β Scalability bottlenecks
- β Single point of failure
- β Difficult deployment and maintenance
- β Technology stack lock-in
- β Poor resource utilization
ShopSmart leverages microservices to provide:
- β Independent Scalability - Scale services based on demand
- β Fault Isolation - Service failures don't crash the entire system
- β Technology Flexibility - Use best tools for each service
- β Faster Deployment - Deploy services independently
- β Event-Driven Architecture - Real-time updates via Kafka
- β High Availability - Distributed system with load balancing
|
|
| Feature | Description |
|---|---|
| π Analytics Dashboard | Sales metrics, revenue charts, customer analytics |
| π¦ Product Management | CRUD operations, bulk upload, inventory control |
| π₯ User Management | Customer data, seller verification, role management |
| π·οΈ Category Management | Create/edit categories, manage attributes |
| π° Order Management | Order processing, status updates, refund handling |
| π― Marketing Tools | Banner management, coupon creation, email campaigns |
| π Reports | Sales reports, inventory reports, customer insights |
- Seller registration & verification
- Product listing & management
- Inventory tracking
- Order fulfillment
- Sales analytics
- Payment settlements
## ποΈ Microservices Architecture
ShopSmart is built using **12+ microservices** for modularity and scalability:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MICROSERVICES ECOSYSTEM β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββ β
β β API Gateway β β Service β β Config β β
β β (Port: 8765) β β Discovery β β Server β β
β β - Routing β β (Eureka) β β (Centralized) β β
β β - Load Balanceβ β (Port: 8761) β β (Port: 8888) β β
β ββββββββββββββββββ ββββββββββββββββββ ββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β CORE BUSINESS SERVICES β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β β User Service β βAuth Service β βProduct Serviceβ β β
β β β (Port: 8081) β β(Port: 8082) β β(Port: 8083) β β β
β β β- Registrationβ β- JWT Auth β β- Catalog β β β
β β β- Profile Mgmtβ β- OAuth2 β β- Search β β β
β β β- MySQL β β- Redis Cache β β- MongoDB β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β β Cart Service β βOrder Service β βPayment Serviceβ β β
β β β (Port: 8084) β β(Port: 8085) β β(Port: 8086) β β β
β β β- Add/Remove β β- Place Order β β- Razorpay β β β
β β β- Calculationsβ β- Tracking β β- Stripe β β β
β β β- Redis Cache β β- MySQL β β- Webhooks β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β βInventory Svc β βReview Serviceβ βNotification β β β
β β β (Port: 8087) β β(Port: 8088) β βService β β β
β β β- Stock Mgmt β β- Ratings β β(Port: 8089) β β β
β β β- Warehouses β β- Comments β β- Email/SMS β β β
β β β- PostgreSQL β β- MongoDB β β- Kafka β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β β βSearch Serviceβ βRecommendationβ βAnalytics Svc β β β
β β β (Port: 8090) β βService β β(Port: 8092) β β β
β β β- Elasticsearchβ β(Port: 8091) β β- Metrics β β β
β β β- Autocompleteβ β- ML Models β β- Reports β β β
β β β- Filters β β- Redis β β- Dashboards β β β
β β ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β EVENT STREAMING & MESSAGE BROKER β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€ β
β β Apache Kafka (Event-Driven Communication) β β
β β - Order Events - Payment Events - Inventory Updates β β
β β - Notifications - Analytics Events β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
## π οΈ Tech Stack
### Backend Microservices:
βββ Framework & Core
β βββ Spring Boot 3.2.1
β βββ Spring Cloud 2023.0.0
β β βββ Spring Cloud Gateway (API Gateway)
β β βββ Netflix Eureka (Service Discovery)
β β βββ Spring Cloud Config (Centralized Config)
β β βββ Spring Cloud OpenFeign (Inter-service Communication)
β β βββ Resilience4j (Circuit Breaker)
β βββ Spring Security 6.2
β βββ Spring Data JPA
β βββ Spring Kafka
β
βββ Databases (Polyglot Persistence)
β βββ MySQL 8.0 (User, Order, Payment)
β βββ MongoDB 6.0 (Product, Review)
β βββ PostgreSQL 15 (Inventory, Analytics)
β
βββ Message Broker
β βββ Apache Kafka 3.6
β βββ order-events
β βββ payment-events
β βββ inventory-events
β βββ notification-events
β
βββ Security
β βββ JWT (io.jsonwebtoken)
β βββ BCrypt Password Encoder
β βββ OAuth2 (Google, Facebook)
β βββ API Rate Limiting
β
βββ Build & Deployment
βββ Maven 3.9
βββ Docker & Docker Compose
βββ Kubernetes (K8s)
### Frontend Architecture:
βββ Core Framework
β βββ React 18.2.0
β βββ React Hooks
β βββ Context API (State Management)
β βββ React Router DOM 6.20
β
βββ UI & Styling
β βββ Tailwind CSS 3.3
β βββ Headless UI
β βββ Framer Motion (Animations)
β βββ React Icons
β βββ Swiper.js (Carousels)
β
βββ HTTP & API
β βββ Axios 1.6.2
β βββ Axios Interceptors
β βββ React Query (Data Fetching & Caching)
β
βββ Form Management
β βββ React Hook Form
β βββ Yup (Validation)
β
βββ Build Tools
βββ Webpack 5
βββ Babel
βββ ESLint + Prettier
## ποΈ System Architecture:
βββββββββββββββββββββββ
β Load Balancer β
β (Nginx/AWS) β
ββββββββββββ¬βββββββββββ
β
βββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ
β β β
ββββββββββΌβββββββββ ββββββββββΌβββββββββ ββββββββββΌβββββββββ
β React Web App β β Mobile App β β Admin Panel β
β (Port: 3000) β β (React Native) β β (Port: 3001) β
ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ ββββββββββ¬βββββββββ
β β β
βββββββββββββββββββββββββββββΌββββββββββββββββββββββββββββ
β
ββββββββββββΌβββββββββββ
β API Gateway β
β (Port: 8765) β
ββββββββββββ¬βββββββββββ
β
ββββββββββββββββββββββββΌβββββββββββββββββββββββ
β β β
ββββββββββΌβββββββββ βββββββββββΌβββββββββ βββββββββββΌβββββββββ
β Service β β Config Server β β Circuit Breaker β
β Discovery β β (Centralized) β β (Resilience4j) β
β (Eureka:8761) β β (Port: 8888) β β β
βββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
## π Getting Started
### Prerequisites
| Software | Version | Download Link |
|----------|---------|---------------|
| β **Java JDK** | 17+ | [Download](https://www.oracle.com/java/technologies/downloads/) |
| π’ **Node.js** | 16+ | [Download](https://nodejs.org/) |
| π¬ **MySQL** | 8.0+ | [Download](https://dev.mysql.com/downloads/) |
| π **MongoDB** | 6.0+ | [Download](https://www.mongodb.com/try/download/community) |
| π **PostgreSQL** | 15+ | [Download](https://www.postgresql.org/download/) |
| π΄ **Redis** | 7.0+ | [Download](https://redis.io/download) |
| π¦
**Apache Kafka** | 3.6+ | [Download](https://kafka.apache.org/downloads) |
| π¦ **Maven** | 3.8+ | [Download](https://maven.apache.org/download.cgi) |
| π **Docker** | 24+ | [Download](https://www.docker.com/products/docker-desktop) |
| π§ **Git** | Latest | [Download](https://git-scm.com/downloads) |
πΈ Screenshots
π Eureka Dashboard :
π Shopsmart Dashboard :
ποΈ Shopsmart Catogaries:
ποΈ Shopsmart All Products:
π Sign in Page:
π³ User Profile Page :
β‘ Performance & Scalability
Performance Metrics
Metric Value
API Response Time < 100ms
Database Query < 50ms
Cache Hit Ratio 85%
Throughput 5000 req/s
Uptime 99.9%
π Security
β
JWT Token Authentication
β
BCrypt Password Hashing (12 rounds)
β
OAuth2 Social Login
β
API Rate Limiting
β
SQL Injection Prevention
β
XSS Protection
β
CORS Configuration
β
HTTPS/TLS Encryption
π License This project is licensed under the MIT License - see the LICENSE file.
π€ Contributing Contributions are what make the open source community amazing! Any contributions you make are greatly appreciated.