Project information
- Category: Web Services
- Type: RESTful A.P.I
- Database: S.Q.L
- Tech Stack: JAVA | SpringBoot | Spring | Hibernate | Maven | S.Q.L | PostMan
- Dependencies: Spring Data J.P.A | Spring Web | Spring Security | J.W.T. | Spring Boot DevTools | Hibernate | Validation | Model Mapper | Lombok | Logger | My S.Q.L Driver | Swagger
- Project Duration: 01 Week
- Project Type : Individual Project
- Project Links : CODE
- Project Presentation : LIVE
E COMMERCE : REST A.P.I. WEB SERVICE
RESTful API for e-commerce, engineered utilizing the Spring Boot framework and the Java programming language. This API adheres to the principles of RESTful architecture and is designed with scalability and maintainability at the forefront, allowing for effortless integration with third-party applications.A salient feature of this API is its support for image management, which encompasses uploading and serving for customer, product, review, and feedback entities, as well as the ability to delete images from the database using HTTP methods, enabling optimal space management on both the server and client side.
This API boasts a highly modular and adaptable architecture, utilizing a sophisticated model mapping mechanism for seamless integration between entities and Data Transfer Objects (DTOs). This allows for a streamlined development process and a consistent, user-friendly experience through the implementation of custom DTOs for HTTP requests and responses, as well as JSON API responses for all requests.
Security is a top priority for this API, incorporating Spring Security and JSON Web Tokens (JWT) to ensure secure user authentication and role-based access control for each HTTP request, guaranteeing that only authorized users can access sensitive data. Moreover, the API employs Hibernate Validator, a powerful validation framework, to enforce data integrity and constraints across all HTTP requests and request bodies, thereby ensuring the validity and consistency of data throughout the application, and providing custom validation exceptions.
To enhance the user experience, the API incorporates Spring Hypermedia as the Engine of Application State (HATEOAS) library to provide hypermedia links, which aids in user flow and ease of access. Users can also take advantage of the API's pagination, filtering, sorting, and searching functionality, with self, collections, and paging hypermedia links, for improved efficiency. A system-generated admin interface is also provided for ease of use.
With its focus on performance, security, and user-friendliness, this API represents a cutting-edge solution for integrating e-commerce functionality into any application. Whether you are a developer seeking to add e-commerce capabilities to your existing application or a business looking for a powerful and customizable e-commerce platform, this API is the optimal choice.
A.P.I. FEATURES
ADMINISTRATOR FUNCTIONALITIES
- Endpoint for admin sign up
- Endpoint for updating admin information
- Endpoint for deleting admin accounts
- Endpoint for retrieving admin information
- Endpoint for adding products
- Endpoint for updating product information
- Endpoint for deleting product information
- Endpoint for updating product rating
- Endpoint for updating product stock quantity
- Endpoint for updating product image
- Endpoint for changing product's category
- Endpoint for adding products to discount sales
- Endpoint for revoking product availability
- Endpoint for adding products to customer's best choice product
- Endpoint for updating order status (processed, failed, to be dispatched, out for delivery, returned, replaced)
- Endpoint for searching orders by user details
- Endpoint for searching orders by order information
- Endpoint for retrieving order information
- Endpoint for approving refund requests
- Endpoint for approving replacement requests
- Endpoint for retrieving cancelled/refunded orders
- Endpoint for adding payment methods
- Endpoint for updating payment methods
- Endpoint for deleting payment methods
- Endpoint for revoking payment methods
- Endpoint for retrieving customer information
-
Endpoint for searching customers by:
- First name
- Last name
- First & last name
- Email ID
- Endpoint for retrieving feedback & reviews
-
Endpoint for sorting feedback & reviews by:
- Rating
- Date
- Customer
- Order
-
Endpoint for retrieving sales information:
- Today's sales
- Last week's sales
- Last month's sales
- Sales from Jan to Dec
-
Endpoint for retrieving product information:
- Highest sold product by rating in a given duration
- Highest rated product in a given duration
- Highest sold product categorized by sale price
- Highest sold product in different categories
CUSTOMER FUNCTIONALITIES
- Endpoint for sign up
- Endpoint for updating customer information
- Endpoint for deleting customer accounts
- Endpoint for retrieving customer information
- Endpoint for updating customer profile pictures
- Endpoint for deleting customer profile pictures
- Endpoint for adding addresses
- Endpoint for retrieving customer addresses
- Endpoint for updating customer addresses
- Endpoint for adding products to cart
- Endpoint for updating product quantity in cart
- Endpoint for emptying the cart
- Endpoint for deleting products from cart
- Endpoint for retrieving cart details
- Endpoint for processing a cart purchase
- Endpoint for retrieving categories
- Endpoint for retrieving products by category
- Endpoint for sorting products by category information
- Endpoint for searching categories
- Endpoint for adding feedback (with image attachment option)
- Endpoint for adding and deleting product reviews and ratings
-
Endpoint for sorting reviews by:
- Added date
- Rating
- Endpoint for retrieving available payment methods
- Endpoint for retrieving product details
-
Endpoints for sorting products by:
- Rating
- Sale price
- Sale availability
- Popularity among customers
- Manufacturing month/year
- Addition date
- Addition date by category
- Rating within a category
-
Endpoints for searching products by:
- Name
- Type
- Endpoint for placing orders
- Endpoint for retrieving order history
- Endpoint for cancelling orders
- Endpoint for requesting refunds/replacements
- Endpoint for tracking order/refund/replacement status