E-commerce, revolutionizes the way businesses and consumers interact in the digital age. It encompasses the buying and selling of products and services over the internet, making transactions seamless and accessible from anywhere with an internet connection.
Comprehensive Multilingual Support (Internationalization - i18n)
platform offers robust multilingual support (i18n) implemented at both database and coding levels, ensuring seamless communication and user experience across languages
Guest Browsing
Allow users to view and browse products and categories without requiring account creation, enhancing accessibility and user experience.
Role-Based Access Control (RBAC)
Customer: Represents the end-users who browse and make purchases on the platform
Super Admin: Manages system-wide user accounts, with the ability to enable or disable accounts and assign or modify user roles as needed
Admin:
Manage categories and sub-categories
Manage products and pricing
Oversee customer notifications
Monitor product reviews and review reports
Track demand for unavailable products
Delivery:
Access all prepared orders awaiting delivery
Manage order statuses and shipment details
Content Creator: Manages advertisements and blog posts
Authentication via Json Web Tokens (JWT)
OAuth2 with Google and Facebook
Mail Sender Service
Account Activation Email
Forget Password Email
Account Management
Allow users to manage their profiles, and addresses
Category and Sub-category Navigation
Explore and refine search results effortlessly by organized categories and sub-categories
Wishlist
list of favorite products for future reference or purchase, facilitating easy access and organization of desired items
Notifications
Provide users with the option to receive alerts and notifications for price reductions or product restocks on items saved in their wishlist, ensuring they stay informed about relevant updates and opportunities
Product Review and Rating System
Enable customers to provide feedback and ratings for products, facilitating informed decision-making for other shoppers
Additionally, provide the functionality to report reviews as necessary
Order Tracking
Allow customers to track the status of their orders in real-time, providing updates from processing to delivery.
Compatibility Across Platforms
Supported on Linux, macOS, and Windows
Dependencies
JDK 17
Visit the official Oracle website and choose an operating system file from here
Follow the provided installation instructions tailored to your operating system
MySQL Installation
Download the installer from the official MySQL website here
Proceed with the installation steps specific to your operating system
Configuration
Write the following commands in MySQL Command Line Client to create user, grant privileges, and create database.
CREATE USER 'ecommerce_user'@'localhost' IDENTIFIED BY 'password_ecommerce';
GRANT ALL PRIVILEGES ON * . * TO 'ecommerce_user'@'localhost';
FLUSH PRIVILEGES;
CREATE DATABASE e_commerce_api_database;
Download
You can find the JAR file for download by accessing the repository. Simply click Download ZIP on the repository link or click here to access the repository files. Alternatively, you can use Git by following the command below:
INFO 49785 --- [ restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port 8080 (http) with context path ''
INFO 49785 --- [ restartedMain] o.a.ecommerce.EcommerceApplication : Started EcommerceApplication in x seconds (process running for x)
To utilize the e-commerce APIs effectively, please refer to the comprehensive documentation provided through Postman. This documentation offers detailed insights into the available endpoints, request parameters, and response formats.