-
This is an e-commerce web application, a platform dedicated to health and wellness products using Microservice architecture pattern.
-
Secure authentication and authorization functionalities using Spring Security and JWT. Integrated email verification during sign-up.
-
Comprehensive product and category data management, including adding, editing, viewing, and searching.
-
Intuitive interface allowing users to easily search and browse products, manage shopping carts, update quantities, and proceed through checkout.
-
Enabled users to view order history and status, coupled with automated order confirmation emails.
-
Offered users to pay upon delivery.
The Service Registry serves as a centralized repository for storing information about all the available services in the microservices architecture.
This includes details such as IP addresses, port numbers, and other metadata required for communication.
As services start, stop, or scale up/down dynamically in response to changing demand, they update their registration information in the Service Registry accordingly.
The API gateway acts as a centralized entry point for clients, providing a unified interface to access the microservices.
API gateway acts as the traffic cop of our microservices architecture. It routes incoming requests to the appropriate microservice, or instance based on predefined rules or configurations.
The Auth Service is responsible for securely verifying user identities and facilitating token-based authentication.
The Category Service provides centralized data management and operations for product categories.
The Product Service provides centralized data management and operations for available products.
The Cart Service provides centralized data management and operations for user carts.
The Order Service provides centralized data management and operations for orders.
The Notification Service provides centralized operations for send emails to user.
HTTP Method | Route Path | Description |
---|---|---|
/notification/send |
Send email |
OpenFeign, a declarative HTTP client library for Java is used to simplify the process of making HTTP requests to other microservices.
-
Fork the repository to your GitHub account.
-
Clone the forked repository to your local machine.
git clone https://github.com/<your-username>/Fullstack-E-commerce-web-application
Create the following databases in MongoDB:
purely_auth_service
purely_category_service
purely_product_service
purely_cart_service
purely_order_service
You can find sample data for products and categories to get started here.
In the notification-service
, configure the following credentials in the application.properties
file to enable email sending functionality:
spring.mail.username=YOUR_USERNAME
spring.mail.password=YOUR_PASSWORD
Replace YOUR_USERNAME
and YOUR_PASSWORD
with your actual email service credentials.
-
First run
service-registry
. Access the Eureka dashboard athttp://localhost:8761
. -
Run the other services. Make sure all the services are up and running in the Eureka Dashboard.
- Navigate to frontend direcory.
cd ./frontend
- Install dependencies.
npm install
- Run the app.
npm run dev
Access the application at http://localhost:5173/