This project is a full-fledged E-Commerce Platform built using Spring Boot for the backend and React.js for the frontend. It provides seamless product management, order processing, and secure user authentication. The platform ensures efficient data handling with Hibernate and PostgreSQL while leveraging Maven for dependency management.
- User Authentication & Authorization: JWT-based role-based authentication for secure access.
- Product Management: CRUD operations for products, categories, and inventory.
- Order Processing: Secure order placement, tracking, and history management.
- Admin Dashboard: Manage users, orders, and product listings efficiently.
- Shopping Cart System: Add-to-cart, remove, and checkout functionalities.
- Secure Payments: Integration with third-party payment gateways.
- RESTful APIs: Efficient API endpoints for data exchange and frontend interaction.
- Spring Boot (Microservices architecture)
- Spring JPA (Data persistence)
- Hibernate (ORM for relational data management)
- PostgreSQL (Relational database)
- Maven (Build automation & dependency management)
- Lombok (Reducing boilerplate code)
- Spring Security & JWT (Authentication & Authorization)
- Postman (API testing & documentation)
- React.js (Frontend development)
- Redux (State management)
- Axios (API requests handling)
- Bootstrap & Material UI (UI components)
- Java 11+
- Node.js & npm
- PostgreSQL
- Maven
- Clone the repository:
git clone https://github.com/your-repo/ecommerce-platform.git cd ecommerce-platform/backend
- Configure PostgreSQL database in
application.properties
. - Install dependencies & build the project:
mvn clean install
- Run the Spring Boot application:
mvn spring-boot:run
- Navigate to the frontend directory:
cd ../frontend
- Install dependencies:
npm install
- Start the React development server:
npm run dev
- Open
http://localhost:3000
to access the frontend.
Use Postman to test API endpoints. API documentation is available at /swagger-ui
when the backend is running.
- Fork the repository.
- Create a feature branch (
git checkout -b feature-name
). - Commit your changes (
git commit -m "Added new feature"
). - Push the branch (
git push origin feature-name
). - Open a pull request.