Ekart is an innovative microservices project that transforms the world of online shopping. Our platform comprises four core services:
- Stock Services
- Order Services
- Payment Services
- Frontend Services
- User Service
Full.Demo.mp4
- Event Streaming: The intergation of Kafka with my project ensures the realtime recording and processing of user's session activity (interactions-clicks-movement to different webpages)
- PDF Generation: Using Itext and OpenPdf our project generates a very sophisticated and elegant user-interaction-journey with the website for that particular session which was received by the kafka consumer.
- Okta Security: Okta facilitates our project with industry standard security parameters ranging from user authorization, user authentication etc.
- Fault Tolerance (Resilience4j): The Cloud gateway not only load balances but also incorporates a Circuit Breaker which multiplies reliability and error handling.
- Service Discovery: Eureka ensures smooth service discovery.
- Centralized Configurations: Config Server pulling from my github repo centralizes configurations.
- Traceability: Docker and Zipkin Sleuth enhance traceability.
- Communication: RestTemplate, OpenFeign & WebClient in Cloud Gateway (since gateway is a WebFlux/Spring Reactive Web service) handle communication between services, making Ekart a comprehensive solution for modern commerce.
Our project's core lies in Maven Spring Boot and the FrontEnd is built on vanilla HTML, CSS & JavaScript. And the communication between the services is provided by Apache Kafka.
We've adopted a "Database per Service" architecture to provide autonomy and scalability. Microservices are being adopted widely since they offer scalability, flexibility, and the ability to develop and deploy software components independently, which accelerates innovation and agility in modern software development.
-
Stock Services: Stock Services is responsible for managing the inventory of products available in your Ekart application. They keep track of product quantities, availability, pricing, and related information. Stock Services help ensure that customers can view and purchase products that are in stock.
-
Order Services: Order Services handle the process of placing and managing customer orders. They facilitate the addition of carts, order processing, order confirmation and display. The order is created only when its added to cart; and completed when payment is successful. Order Services ensure that customer orders are accurately recorded and processed.
-
Payment Services: Payment Services are responsible for handling payment processing within your Ekart application. The payment is initiated only when the order is created. Payment Services help ensure smooth and secure payment experiences for customers.
-
Frontend Services: Frontend Services represent the user interface and presentation layer of your Ekart application. They include web pages, zappy animation and interactive dropdown elements that customers use to browse products and place orders because memorizing stockId and orderId is arduous. Frontend Services are also acting as Kafka producers which is responsible for recording and registering the user movement in the website.
-
User Service: User Service focuses on managing user accounts and session info's. It acts as the Kafka Consumer which handles the info from Frontend Service and displays the journey of a user in his session via a pretty schematic downloadable PDF.
- Cloud API Gateway (SpringGateway) This handles the efficient routing of requests between services, ensuring smooth communication. The Circuit Breaker in it also provides a layer of Fault Tolerance. Okta Security integrated in this service is responsible for providing ndustry-standard security
- Eureka Service Registry Our Service Discovery facilitates automatic service registration, discovery, and load balancing, ensuring scalability and fault tolerance in our microservices architecture.
- Config Server Our Config Server centralizes and manages configuration settings, supporting dynamic updates without service redeployment.
Ekart is not just about convenience; it's also about ensuring the utmost security, scalability, and fault tolerance. With Cloud API Gateway, circuit breakers, Okta integration, and a modern tech stack, we provide an unparalleled shopping experience.
Developed By - Prakarsh Srivastava - prakarsh2101@gmail.com
Project Link: Ekart-Microservice