This project is an e-commerce application built using a microservices architecture with Spring Boot. The application consists of several microservices, each responsible for a specific domain of the e-commerce system. The main components include:
- User Service
- Identity Service
- Product Catalog Service
- Order Service
- Shopping Cart Service
- Review and Rating Service
- API Gateway
- Eureka Server for service registry
- Configuration Service
- Spring Boot: For creating microservices.
- Spring Cloud Netflix Eureka: For service registry and discovery.
- Spring Cloud Gateway: For routing and filtering requests.
- Feign Client: For inter-service communication.
- Spring Security & JWT: For authentication and authorization.
- Jackson: For JSON serialization and deserialization.
- MySQL Database: For storing data.
Manages user registration, authentication, and profile management.
- POST /auth/register
- POST /auth/token
- GET /auth/validate?token= {token}
Manages user
- GET /user/profile/{userId}
- GET /user
- PUT /user/profile{userId}
- DELETE /user//profile/{userId}
Manages products and categories.
- POST /product
- POST /product/category
- GET /product
- GET /product/category
- GET /product/{productId}
- GET /product/category/{categoryId}
- PUT /product/{productId}
- PUT /product/category/{categoryId}
- DELETE /product/{productId}
- DELETE /product/category/{categoryId}
Manages order creation, status updates, and history.
- POST /orders: Create a new order.
- GET /orders/{id}: Get order details.
- GET /users/{userId}/orders: Get orders by user.
Manages user shopping carts.
- POST /cart/{userId}
- GET /cart/{userId}
- PUT /cart/{userId}
- DELETE /cart/{userId}
Manages product reviews and ratings.
- POST /rating
- GET /rating/{reviewId}
- GET /rating/product/{productId}
- GET /rating/user/{userId}
- PUT /rating/{reviewId}
- DELETE /rating/{reviewId}
- Routes and filters requests to appropriate services.
- Provides a single entry point for client requests.
- Service registry for registering and discovering microservices.
- Centralized configuration management for all services.