ShopEase is a comprehensive e-commerce application designed to provide seamless shopping experiences. Built using Java Spring Boot, the application supports various functionalities including user registration, product management, shopping cart handling, order processing, and more. ShopEase ensures efficient stock management and secure customer authentication, making it a robust solution for modern online shopping needs.
- Java: Core programming language
- Spring Boot: Framework for building the application
- MySQL: Database for storing application data
- BCrypt: For password encryption
- Maven: For project management and dependency management
- src
- main
- java
- com
- shopease
- ShopeaseApplication.java
- authentication
- dto
- service
- exception
- controller
- cart
- cartitem
- service
- exception
- repository
- controller
- model
- service
- repository
- exception
- model
- controller
- cartitem
- common
- entity
- config
- util
- exception
- customer
- service
- repository
- model
- exception
- controller
- order
- orderitem
- service
- repository
- model
- exception
- controller
- service
- repository
- model
- exception
- controller
- orderitem
- product
- service
- repository
- model
- exception
- controller
- util
- exception
- entity
- shopease
- com
- resources
- sql
- sqlscript.sql
- static
- templates
- application.yml
- sql
- java
- main
Before you begin, ensure you have the following installed:
- Java JDK 8 or higher
- Maven 3.1.1 or higher
- MySQL Server
Imagine a user named Anil, who has just discovered ShopEase. He decides to register an account to start shopping. With a few simple steps, Anil's personal details are securely saved, withhispassword encrypted using BCrypt to ensure maximum security.
Once logged in, Anil explores a variety of products. The product catalog is managed by the ShopEase admin, who can add, update, or soft delete products from the inventory. This means that even if a product is removed from the storefront, its data remains intact for future reference or auditing purposes.
Anil selects a few items He likes and adds them tohisshopping cart. The cart functionality is designed to handle these operations smoothly. If Anil decides to buy more of an item already inhiscart, the application updates the quantity instead of adding a duplicate entry, ensuring a user-friendly experience.
When Anil is ready to checkout, He places an order. ShopEase processes this order by confirming the availability of the products, updating stock levels, and calculating the total price. Anil can viewhisorder history and track the status ofhiscurrent orders throughhisaccount.
The backend system of ShopEase is robust, handling various tasks such as validating stock before adding a product, ensuring no redundant database queries, and managing soft deletes effectively. The system’s architecture is designed to provide a seamless experience for both customers and administrators, maintaining data integrity and performance throughout.
-
Clone the repository
git clone https://github.com/yourusername/shopease.git cd shopease
-
Set up the database
All the Configurations you needed embed in the file
-
Configure application properties Update the
application.yml
file with your MySQL database credentials. -
Build the project
mvn clean install
-
Run the application
mvn spring-boot:run
Once the application is running, you can access the endpoints using Postman or any other API testing tool. Detailed API documentation is available via the Postman link below.
Access the detailed API documentation and test the endpoints using this Postman collection.
For any inquiries or support, please contact:
Ali Anil Hazar
Email: alianilhazar@gmail.com