This is a comprehensive eCommerce platform developed using Spring Boot, MySQL, React JS, Postman, and Swagger. It is designed to offer efficient back-end processing, a dynamic front-end, and a secure and reliable user experience.
- Back-End: Spring Boot
- Database: MySQL
- Front-End: React JS
- API Testing: Postman
- API Documentation: Swagger
- JWT Authentication: Implemented to enhance security and user authorization.
- Distinct User Interfaces: Designed for both administrative management and customer interactions, resulting in intuitive and user-friendly experiences.
- API Documentation: Integrated Swagger for interactive API documentation and testing.
This eCommerce platform aims to streamline order processing and user management. It utilizes Spring Boot and MySQL for efficient back-end processing and React JS for a dynamic front-end. JWT authentication is used to ensure a secure and reliable user experience. Additionally, the platform features distinct user interfaces tailored for administrative management and customer interactions, providing an intuitive and user-friendly experience. Swagger is included for interactive API documentation, making it easier to explore and test API endpoints.
git clone https://github.com/TechThrives/eCommerce-Application.git
cd eCommerce-Applicationcd backend./mvnw install-
In the root directory of your Spring Boot project, create a file named
.env.Open the
.envfile and add the following environment variables:-
APPLICATION_NAME: The name of the application. -
DATASOURCE_URL: The URL for the MySQL database. -
DATASOURCE_USERNAME: The username for MySQL database access. -
DATASOURCE_PASSWORD: The password for MySQL database access. -
DATASOURCE_DRIVER: The driver class name for MySQL. -
JPA_HIBERNATE_DDL_AUTO: Hibernate DDL auto configuration (e.g.update,create). -
JPA_SHOW_SQL: Whether to show SQL statements in logs (trueorfalse). -
JPA_OPEN_IN_VIEW: Whether to keep Hibernate session open during the view rendering (trueorfalse). -
JPA_GENERATE_DDL: Whether to generate the database schema (trueorfalse). -
DEVTOOLS_LIVERELOAD_ENABLED: Whether LiveReload is enabled for Spring Boot DevTools (trueorfalse). -
LOGGING_LEVEL_ROOT: Logging level for the root logger (e.g.INFO,DEBUG). -
LOGGING_LEVEL_SPRING_WEB: Logging level for Spring Web components (e.g.INFO,DEBUG). -
MVC_VIEW_PREFIX: Prefix for view paths in MVC configuration. -
MVC_VIEW_SUFFIX: Suffix for view paths in MVC configuration. -
JWT_SECRET_KEY: Secret key used for JWT authentication. -
JWT_ACCESS_TOKEN_EXPIRATION: Expiration time for access tokens. -
JWT_REFRESH_TOKEN_EXPIRATION: Expiration time for refresh tokens. -
MULTIPART_ENABLED: Whether multipart file uploads are enabled (trueorfalse). -
MULTIPART_MAX_FILE_SIZE: Maximum file size for multipart uploads. -
MULTIPART_MAX_REQUEST_SIZE: Maximum request size for multipart uploads. -
CLOUDINARY_CLOUD_NAME: Cloud name for Cloudinary configuration. -
CLOUDINARY_API_KEY: API key for Cloudinary. -
CLOUDINARY_API_SECRET: API secret for Cloudinary. -
USER_PROFILE_IMAGE_URL: Default URL for user profile images. -
STRIPE_SECRET_KEY: Secret key for Stripe integration. -
MAIL_HOST: The mail server’s hostname. -
MAIL_PORT: The port to connect to the mail server. -
MAIL_USERNAME: The username for the mail server. -
MAIL_PASSWORD: The password for the mail server. -
MAIL_DEBUG: Enable or disable mail debugging. -
BASE_URL: Base URL for the Front-End Shop.
Ensure your Spring Boot application is configured to load environment variables from the
.envfile. -
./mvnw spring-boot:runcd frontend-adminnpm install-
In the root directory of your React App, create a file named
.env.Open the
.envfile and add the following environment variables:REACT_APP_BACKEND_URL: Defines the base URL of the backend server.
By setting these environment variables, you ensure that your React app can properly interact with external services and configurations.
npm startcd frontend-shopnpm install-
In the root directory of your React App, create a file named
.env.Open the
.envfile and add the following environment variables:-
REACT_APP_BACKEND_URL: Defines the base URL of the backend server. -
REACT_APP_STRIPE_PUBLISHABLE_KEY: Contains the publishable key for integrating with Stripe's payment gateway. -
REACT_APP_TAX_RATE: Specifies the tax rate to be applied in the application.
By setting these environment variables, you ensure that your React app can properly interact with external services and configurations.
-
npm startWe welcome contributions from the community. To contribute to this project, please follow these guidelines:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes and ensure they are well-tested
- Create a pull request to the main branch of the original repository
- Omkar Kanade @omkarkanade
- Swarup Kanade @swarupkanade