This is an Online Shopping Application developed using Spring Boot, Hibernate, and React. It provides users with a seamless shopping experience with features like product browsing, adding items to the cart, and order processing.
- User registration and authentication
- Product browsing and search
- Shopping cart functionality
- Order processing
- Admin panel for product and order management
- Backend: Spring Boot, Hibernate
- Frontend: React
- Database: MySQL
- Build Tools: Maven
- Version Control: Git
- Java 11 or higher
- Node.js
- MySQL
- Maven
-
Clone the repository:
git clone https://github.com/saurabhjojare/Online-Shopping-Application.git cd Online-Shopping-Application/backend
-
Update MySQL configurations in
application.properties
:spring.datasource.url=jdbc:mysql://localhost:3306/online_shopping spring.datasource.username=yourUsername spring.datasource.password=yourPassword
-
Build and run the backend:
mvn clean install mvn spring-boot:run
-
Navigate to the frontend directory:
cd ../frontend
-
Install dependencies:
npm install
-
Run the frontend:
npm start
- Open your browser and navigate to
http://localhost:3000
to access the application. - Register as a new user or log in with existing credentials.
- Browse products, add them to the cart, and proceed to checkout.
- POST
/api/auth/signup
- Register a new user - POST
/api/auth/signin
- Authenticate an existing user
- GET
/api/products
- Retrieve all products - GET
/api/products/{id}
- Retrieve a single product by ID - POST
/api/products
- Create a new product (Admin) - PUT
/api/products/{id}
- Update an existing product (Admin) - DELETE
/api/products/{id}
- Delete a product (Admin)
- GET
/api/cart
- Retrieve the current user's cart - POST
/api/cart
- Add a product to the cart - PUT
/api/cart
- Update the cart item quantity - DELETE
/api/cart/{id}
- Remove an item from the cart
- GET
/api/orders
- Retrieve all orders (Admin) - GET
/api/orders/{id}
- Retrieve a single order by ID - POST
/api/orders
- Place a new order
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Make your changes.
- Commit your changes (
git commit -m 'Add some feature'
). - Push to the branch (
git push origin feature/your-feature
). - Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.