Skip to content

berkesayin/ecommerce-app-microservices

Repository files navigation

eCommerce Application With Elastic Data And iyzico Payment

The eCommerce app is designed using Microservices architecture and API Gateway pattern where each service is responsible for a specific business function.

Elastic's eCommerce Orders Data is added from Kibana Integrations and used for product, category, search and order functionalities.

iyipay-java API client developed by iyzico is integrated and used for the project at the payment service.

Reference: https://github.com/iyzico/iyzipay-java

img

Architectural Diagram

img

NOTE: Check docs or diagrams for internal service calls and Kafka events.

Elasticsearchproduct index as example

img

Technologies

Software architectures and principles:

  • Microservices
  • API gateway
  • Distributed systems
  • Domain driven design
  • Rich domain model
  • Event driven architecture
  • CQRS (product, search)
  • Monitoring, observability
  • Exception handling

Technologies:

  • Java 21
  • Spring Boot 3.3.1
  • Spring Security
  • iyzipay-java API Client
  • Maven
  • GitHub Actions
  • Elasticsearch
  • Kibana
  • Elastic Agent and Fleet Server
  • Elastic APM and OpenTelemetry
  • Docker
  • PostgreSQL
  • MongoDB
  • Redis
  • Kafka

Event Driven Architecture

NOTE: Check docs or diagrams for asynchronous messaging with Kafka events.

  • ProductPublished
  • ProductUnpublished
  • OrderCreated
  • OrderReceived
  • PaymentReceived

Documentation

Refer to the docs section for setup and development of the project. It includes these parts:

New Features

  • Running the project in Kubernetes environment:
    • minikube
    • kubectl
    • helm
    • kustomize

This part is under development and will be released with new version of the project.

Contributing

Contributions are welcome! If you have suggestions or want to improve the code, please check Contributing section.

License

Released under the MIT License.

About

A Spring Boot based eCommerce app with iyzico integration for online payments. Utilized microservices architecture with Kafka, Elasticsearch, Kibana, Elastic APM and OpenTelemetry.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Contributors