https://github.com/vishalgiri-git/spring-boot-ecom-with-notification-app
This Spring Boot project consists of two main components: a core E-commerce Service that manages products, carts, and orders, and a separate Notification Service for handling user communications.
https://github.com/vishalgiri-git/spring-boot-ecom-with-notification-app
hibernate java kafka-consumer kafka-producer kafka-topic mysql-database react spring-boot themeleaf
Last synced: about 2 months ago
JSON representation
This Spring Boot project consists of two main components: a core E-commerce Service that manages products, carts, and orders, and a separate Notification Service for handling user communications.
- Host: GitHub
- URL: https://github.com/vishalgiri-git/spring-boot-ecom-with-notification-app
- Owner: vishalgiri-git
- Created: 2025-08-17T08:31:02.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2026-01-01T10:21:08.000Z (5 months ago)
- Last Synced: 2026-01-06T05:41:26.991Z (5 months ago)
- Topics: hibernate, java, kafka-consumer, kafka-producer, kafka-topic, mysql-database, react, spring-boot, themeleaf
- Language: Java
- Homepage:
- Size: 3.55 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# E-commerce Application with Notification Service
A microservices-based application for a modern e-commerce platform. This repository contains the backend services built with Java and Spring Boot, structured as a monorepo.
The system is composed of two main services:
1. **E-commerce Service**: Handles core business logic like product management, user authentication, shopping cart, and order processing.
2. **Notification Service**: A dedicated service for sending notifications (like email or SMS) to users in response to events within the platform.
---
### High-Level Architecture Diagram

---
## ⚡ Performance Optimizations
To enhance the scalability and responsiveness of the application, several optimization techniques have been integrated:
- **Pagination**: Efficiently handles large datasets in APIs by limiting the number of records returned per request.
- **Indexing**: Database indexing applied to frequently queried fields to speed up data retrieval.
- **Redis Cache**: Implements caching layer using Redis to reduce database load and improve response times for commonly accessed data.
---
## 🚀 Features
### E-commerce Service (`/Ecom`)
* 👤 **User Authentication & Authorization**: Secure user registration and login using Spring Security.
* 📦 **Product Catalog**: Functionality to add, update, view, and delete products.
* 🛒 **Shopping Cart**: Manage items in a user's cart.
* 💳 **Order Management**: End-to-end order placement and tracking workflow.
* 📢 **Event-Driven**: Publishes events (e.g., `ORDER_PLACED`) to a Kafka topic.
### Notification Service (`/Notification`)
* 📧 **Email Notifications**: Consumes events from Kafka to send timely emails.
* 📄 **Templated Messages**: Uses templates for different notification types (e.g., Order Confirmation, Shipping Update).
* 🔄 **Decoupled Architecture**: Operates independently of the main E-commerce service, ensuring reliability.
---
## 🛠️ Tech Stack
* **Backend**: Java 17, Spring Boot 3
* **Data**: Spring Data JPA, Hibernate, MySQL
* **Messaging Queue**: Apache Kafka
* **Security**: Spring Security
* **Build Tool**: Maven
* **(Frontend)**: React
---