This project aims to create a full-fledged e-commerce platform with advanced features like Seller Review Analysis to enhance decision-making. The platform provides:
- Insights into the most discussed topics in product reviews.
- Sentiment distribution analysis using CoreNLP from Stanford.
Additionally, we have developed a REST API that supports fundamental CRUD operations of an e-commerce platform, with user validation at every step.
- Login/Logout
- Seller
- Customer
- Product
- Cart
- Order
- Review Analysis
- Java
- Spring Framework
- Spring Boot
- Spring Data JPA
- Hibernate
- MySQL
- CoreNLP (Stanford)
- Administrator role for managing the application.
- Add/Update/Delete products with valid session tokens.
- Access customer details, order history, and review insights.
- Register and log in to get a valid session token.
- Browse products, add to the cart, and place orders.
- Access order history, cart, and other features when logged in.
Analyze customer reviews using CoreNLP. This module:
- Extracts the most discussed topics.
- Displays sentiment distribution (positive, negative, neutral).
- API Endpoint:
GET /analysis/{productId}
- Base URL:
https://localhost:8009/
- Swagger UI: API Documentation
POST /register/customer
- Register a new customerPOST /login/customer
- Login customerPOST /logout/customer
- Logout customerPOST /register/seller
- Register a new sellerPOST /login/seller
- Login sellerPOST /logout/seller
- Logout seller
GET /customer/current
- Get logged-in customer detailsPUT /customer
- Update customer detailsDELETE /customer
- Delete customer account
GET /seller/{sellerid}
- Get seller by IDPOST /addseller
- Add new sellerPUT /seller
- Update seller detailsDELETE /seller/{sellerid}
- Delete seller by ID
GET /product/{id}
- Get product by IDPOST /products
- Add new productDELETE /product/{id}
- Delete product by ID
GET /cart
- Get cart itemsPOST /cart/add
- Add item to cartDELETE /cart/clear
- Clear cart
GET /orders
- Get all ordersPOST /order/place
- Place a new orderDELETE /orders/{id}
- Cancel an order
git clone https://github.com/your-repo/ecommerce-platform.git
- Install Dependencies Frontend
cd frontend-directory
npm install
Backend
Configure the application.properties file for MySQL connection:
spring.datasource.url=jdbc:mysql://localhost:3306/your_database
spring.datasource.username=your_username
spring.datasource.password=your_password
-
Build and Run the Server
Build the backend:
mvn clean install
cd target
java -jar ecommerce-platform-<version>.jar
- Start the Frontend
Navigate to the frontend directory and start the React application:
npm install
npm start
- Safouat El Yassini
- Mohammed Amyn El Boujadaini
Contributions are welcome!