This repository serves as the main entry point for the E-commerce application. It integrates the productService
and userService
microservices to provide a complete solution for managing products and users in an online store.
- User Registration: Allows new users to sign up. Checks if the user already exists.
- User Login: Validates user credentials and throws custom exceptions for invalid logins.
- Authentication Service: Manages authentication tokens and user sessions.
- Product Management: CRUD operations for managing product information.
- Product Search: Enables users to search for products by various criteria.
- Inventory Management: Keeps track of product stock and updates inventory accordingly.
The application follows a microservices architecture, with each service being a Spring Boot application. The services communicate with each other through RESTful APIs.
- User Service: Manages user data and authentication. View Repository
- Product Service: Handles product-related operations. View Repository
- Java
- Spring Boot
- Spring Security
- Hibernate
- MySQL
- Java 11 or higher
- Maven
-
Clone the repositories:
git clone https://github.com/sparsh3007/ecommerce-app git clone https://github.com/sparsh3007/userservice git clone https://github.com/sparsh3007/productService
-
Build the Services:
cd userservice mvn clean install cd ../productService mvn clean install
-
Run the Services:
cd userservice mvn spring-boot:run cd ../productService mvn spring-boot:run
- POST /users/signup: Register a new user.
- POST /users/login: Authenticate a user.
- POST /roles: Create a new role
- GET /products: Retrieve all products.
- GET /products/{id}: Retrieve a specific product by ID.
- POST /products: Add a new product.
- PUT /products/{id}: Update an existing product.
- DELETE /products/{id}: Delete a product by ID.
- GET /categories/{uuid}: Retrieve a specific category by ID
- GET /categories/products: Retrieve all products for specific categories by category IDs
- GET /categories/all: Retreive all categories
- GET /categories/products/{category}: Retreive all products by category name
Contributions are welcome! Please fork the repository and submit a pull request.
This project is licensed under the MIT License.
If you have any questions or need further assistance, feel free to reach out at [email protected].