Skip to content

This is an e-commerce project developed with microservices. The basic code software has been provided. Clean code logic has been attempted to be applied. This is an ideal project for understanding the microservice project structure.

Notifications You must be signed in to change notification settings

EnesSERENLI/ECommerce_Microservice_Project

Repository files navigation

MicroService Project

Introduction

MicroService MultiShop is an e-commerce platform built with a microservices architecture.
It integrates modern architectural patterns, communication tools, and multiple databases to provide a robust and flexible system.


Key Technologies & Structures Used

  • Ocelot Gateway
    Acts as the API Gateway to route requests, manage load balancing, and centralize cross-cutting concerns such as authentication and logging.

  • IdentityServer4
    Provides secure authentication and authorization based on OAuth2 and OpenID Connect standards.

  • Docker & Portainer
    Containers are used for consistent environments and easy deployment; Portainer simplifies container management with a web UI.

  • MSSQL, MongoDB, PostgreSQL
    Multiple databases are used depending on the service requirements, covering both relational and NoSQL storage needs.

  • Docker-SQL-Linux
    Runs MSSQL inside a Linux-based Docker container to provide cross-platform database services.

  • JWT Authentication & Authorization
    Implements JSON Web Tokens to securely manage user sessions and API access.

  • Redis
    Used for caching and fast data access, enhancing overall system performance.

  • RabbitMQ
    Provides asynchronous communication between microservices using a reliable message broker.

  • SignalR
    Enables real-time communication between server and clients, supporting features like notifications and live updates.

  • Localization & Globalization
    Provides multi-language and culture support to serve international users.

  • Rapid API
    Enables seamless integration with external APIs to extend platform functionality.

  • MediatR Pattern
    Implements the mediator design pattern to handle requests and responses, improving code readability and maintainability.

  • CQRS Pattern
    Separates command (write) and query (read) responsibilities for better scalability and performance.

  • Repository Pattern
    Abstracts the data access layer, ensuring clean separation of concerns and easier unit testing.

  • Onion Architecture
    Enforces a dependency rule where outer layers depend on inner layers, increasing testability and maintainability.

  • N-Tier Architecture
    Divides the application into distinct layers (Presentation, Business, Data) to improve modularity.


Getting Started & Installation

Follow the steps below to run the project locally:

# 1. Clone the repository
git clone https://github.com/EnesSERENLI/MicroService_MultiShop.git

# 2. Navigate into the project directory
cd MicroService_MultiShop

# 3. Configure the required settings
# (e.g., connection strings, RabbitMQ configuration, Portainer access, etc.)

# 4. Start the Docker environment
docker-compose up -d

# 5. Run the application
# Start each service via IDE or terminal as needed

# 6. Test the application
# Access the gateway or service endpoints via http://localhost

About

This is an e-commerce project developed with microservices. The basic code software has been provided. Clean code logic has been attempted to be applied. This is an ideal project for understanding the microservice project structure.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published