https://github.com/sk2k19/springboot_ecom_web_app
A backend-focused web application built with Spring Boot, REST APIs, and integrated with MySQL, MongoDB, Redis, Elasticsearch, Kafka, Docker, and Kubernetes โ showcasing my ability to design scalable, production-ready systems aligned with modern industry practices.
https://github.com/sk2k19/springboot_ecom_web_app
docker elasticsearch kafka kubernetes mongodb mysql-database postman redis restful-api spring-boot
Last synced: 3 months ago
JSON representation
A backend-focused web application built with Spring Boot, REST APIs, and integrated with MySQL, MongoDB, Redis, Elasticsearch, Kafka, Docker, and Kubernetes โ showcasing my ability to design scalable, production-ready systems aligned with modern industry practices.
- Host: GitHub
- URL: https://github.com/sk2k19/springboot_ecom_web_app
- Owner: Sk2k19
- Created: 2025-04-10T06:06:01.000Z (12 months ago)
- Default Branch: master
- Last Pushed: 2025-04-12T08:00:02.000Z (12 months ago)
- Last Synced: 2025-04-12T08:37:40.565Z (12 months ago)
- Topics: docker, elasticsearch, kafka, kubernetes, mongodb, mysql-database, postman, redis, restful-api, spring-boot
- Language: Java
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐๏ธ Product Management APIs using Spring Boot + FakeStore API





> ๐จ A production-style Product API backend built with Spring Boot, integrated with **FakeStore API** and enhanced by **custom exception handling**, global error responses, and clean architecture.
---
## ๐ Overview
This project showcases a fully functional Product Management API built with `Spring Boot`. It integrates with the public [FakeStore API](https://fakestoreapi.com/) to perform real-world operations like create, read, and update products.
It focuses on writing **scalable**, **clean**, and **debug-friendly code** using best backend practices.
---
## ๐ Features
โ
Create Product
โ
Get All Products
โ
Update Product by ID (PATCH)
โ
Custom Exception Classes for clarity
โ
Global Exception Handling with `@ControllerAdvice`
โ
External API Integration using `RestTemplate`
โ
Clean and modular service-layer architecture
โ
Debug-friendly logs and response messages
---
## ๐ API Endpoints
| Method | Endpoint | Description |
|--------|----------|-------------|
| `POST` | `/products` | Create a new product |
| `GET` | `/products` | Fetch all products |
| `PATCH` | `/products/{id}` | Update product by ID |
---
## ๐ฆ Tech Stack
| Tech | Purpose |
|-------------|--------------------------------------|
| **Java 17** | Core programming language |
| **Spring Boot 3.x** | Backend framework |
| **RestTemplate** | External API consumption |
| **Lombok** | Reducing boilerplate code |
| **Maven** | Project management & dependencies |
| **ControllerAdvice** | Global error handling |
| **Custom Exceptions** | Specific error responses |
---
## ๐ก๏ธ Error Handling & Debugging
- โ
Global exception handler using `@RestControllerAdvice`
- โ
Custom exceptions like `InvalidProductIdException` for clarity
- โ
All errors return clean, consistent **JSON responses**
- โ
Helps with debugging and API client feedback
### ๐งช Sample Error Response:
```json
{
"timestamp": "2025-04-12T12:34:56.789",
"status": 404,
"error": "Product Not Found",
"message": "Product with ID 15 does not exist",
"path": "/products/15"
}