Skip to content

An E-Commerce Microservice built with Spring Boot and other tech like Okta, Kafka etc.

Notifications You must be signed in to change notification settings

prakarshs/Ekart-Microservice

Repository files navigation


Logo

Ekart Microservices

Introducing Ekart : A Complete Solo Microservices Project

About The Project

product-screenshot 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

Demo Of Project

Full Project Demo

Full.Demo.mp4

Kafka User Journey Track And Certificate Generation

Kafka-Demo

Architecture Of The Project

Architecture

Our Standouts

  • 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.

Built With

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.

  • SpringBoot
  • JavaScript
  • Okta
  • Apache
  • Openpdf
  • MySql

Microservices Architecture

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.

Salient Microservices

  • 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.

(back to top)

Contact

Developed By - Prakarsh Srivastava - prakarsh2101@gmail.com

Project Link: Ekart-Microservice

About

An E-Commerce Microservice built with Spring Boot and other tech like Okta, Kafka etc.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published