This project is an E-Commerce API and website built using Java and Spring Boot. It provides a robust backend for managing categories, products, shopping carts, user profiles, and orders. The API supports a variety of operations, making it suitable for modern e-commerce applications.
- User Authentication: Registration and login for users and admins.
- Category Management: CRUD operations for product categories.
- Product Management: Manage products with filters for category, price, and color.
- Shopping Cart: Add, update, and delete items in the cart.
- User Profiles: Update and retrieve user profiles.
- Order Processing: Place orders from the shopping cart.
Description: Products were not being filtered correctly when multiple query parameters (e.g., minPrice
and color
) were provided.
Description: Product update was not working properly due to add the product instead of modify.
- Register:
POST /register
- Login:
POST /login
- Retrieve all categories:
GET /categories
- Retrieve a specific category:
GET /categories/{id}
- Create a category:
POST /categories
- Update a category:
PUT /categories/{id}
- Delete a category:
DELETE /categories/{id}
- Retrieve all products:
GET /products
- Retrieve a specific product:
GET /products/{id}
- Create a product:
POST /products
- Update a product:
PUT /products/{id}
- Delete a product:
DELETE /products/{id}
- Filter products:
GET /products?cat={categoryId}&minPrice={min}&maxPrice={max}&color={color}
- Retrieve cart:
GET /cart
- Add product to cart:
POST /cart/products/{id}
- Update product quantity:
PUT /cart/products/{id}
- Clear cart:
DELETE /cart
- Retrieve profile:
GET /profile
- Update profile:
PUT /profile
- Place an order:
POST /orders
- Java 17+
- MySQL
- Maven
- IDE (e.g., IntelliJ IDEA)
- Backend: Java, Spring Boot
- Database: MySQL
- Build Tool: Maven
- Frontend: Mini.css (for UI)
- Yiming Gao
- This project is licensed under the MIT License. See the LICENSE file for details.