- Project Overview
- Features
- Technologies Used
- Getting Started
- API Documentation
- Project Structure
- Future Enhancements
- Contributing
The E-commerce Project is a full-stack application that provides a robust platform for buying products online. It allows users to browse products, manage carts, place orders, and perform authentication securely. The backend is built using Spring Boot with features like JWT-based authentication.
- User Authentication:
- JWT-based login and sign-up.
- Secure password management.
- Product Management:
- CRUD operations for products.
- Filtering and sorting by product type and price.
- Cart Management:
- Add, update, or remove items from the cart.
- Order Management:
- Checkout and track orders.
- Admin Features:
- Product inventory management.
- User and order management.
- Responsive Design:
- Built for a seamless user experience on both desktop and mobile platforms.
- **- payment gateway integration.
- Razorpay payment gateway
- Spring Boot
- Spring Security with JWT
- Spring Data JPA
- Hibernate
- MySQL
- Git for version control
- Postman for API testing
- Maven for project dependency management
- Swagger for documentation
- Java 17 or later
- MySQL installed and running
- An IDE like IntelliJ IDEA or Eclipse for backend development
- Clone the repository:
git clone https://github.com/Rkarama26/R_tech/
- Navigate to the Project Directory
cd spring-ecommerce-project
3.Update the application.properties file with your MySql credentials
spring.datasource.url=jdbc:mysql://localhost:3306/ecommerce_db
spring.datasource.username=root
spring.datasource.password=password4.Build and run the backend
mvn clean install
mvn spring-boot:runThe API documentation is available via Swagger UI:
- URL:
http://localhost:8080/swagger-ui/index.html#/
Here are the main API endpoints for the project:
-
Authentication
POST /api/auth/signin- User login.POST /api/auth/signup- User registration.
-
Products
GET /api/products- Retrieve all products.GET /api/products/id/{id}Retrieve a Product.
-
Cart
GET /api/cart/addAdd item to cart.GET /api/cart/Get cart.
-
Cart Item
PUT /api/cart_item/{id}- Update cart items.DELETE /api/cart_item/{id}- Remove items from the cart.
-
Orders
POST /api/orders- Place an order.GET /api/orders- Track all orders for the user.
- Add email notifications for orders.
- Enhance product recommendation using AI/ML.
- Add multi-language support.