Skip to content

πŸ›’ Manga Microservices E-Commerce Platform – "A scalable πŸ—οΈ and high-performance ⚑ microservices-based platform

Notifications You must be signed in to change notification settings

SHAMMA6/Manga-Microservices-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Microservices E-Commerce Platform

πŸš€ Overview

This is a fully functional Microservices-based E-Commerce Platform built with .NET. The project follows best practices for scalability, security, and maintainability.

Microservices Application Flow

πŸ”₯ Features

  • RESTful APIs for seamless communication
  • MVC Web Application for a user-friendly experience
  • .NET Identity for Authentication & Authorization with JWT & Cookies
  • API Gateway with Ocelot to manage microservices
  • Secure Payments with Stripe Integration
  • Email Service for order confirmations & user notifications
  • Message Queue Integration using Azure Service Bus & RabbitMQ
  • Event-Driven Architecture for efficient messaging
  • 10 Well-Structured Projects ensuring Separation of Concerns

⚠️ Important Notes

  1. Two Branches Available:

    • main branch uses Azure Service Bus
    • RabbitMQ Implementation branch uses RabbitMQ
  2. Do Not Update Packages: Avoid updating packages like RabbitMQ, Identity, etc., as the application may not work properly.

  3. Ocelot API Gateway Activation:

    • Change every project's port to :7777 to activate the API Gateway.
  4. Ocelot Configuration (ocelot.json) in the Gateway Project:

    "CouponAPI": "https://localhost:7001",
    "AuthAPI": "https://localhost:7002",
    "ProductAPI": "https://localhost:7003",
    "ShoppingCartAPI": "https://localhost:7004",
    "OrderAPI": "https://localhost:7005"
  5. Using the Azure Service Bus Branch?

    • You must fill in the secret keys from your Azure account.
    • Keys & emails are empty by default, so make sure to set them up correctly.
  6. Database Setup:

    • Each API has its own EF Core Migrations.
    • Run dotnet ef database update in each service to apply migrations.
    • Connection strings should be configured in appsettings.json for each API.

πŸ“‚ Project Structure

πŸ“¦ ECommercePlatform
β”œβ”€β”€ πŸ“‚ FrontEnd
β”‚   β”œβ”€β”€ πŸ“‚ WebApp (MVC UI)
β”‚
β”œβ”€β”€ πŸ“‚ Gateway
β”‚   β”œβ”€β”€ πŸ“‚ GatewayAPI (Ocelot)
β”‚
β”œβ”€β”€ πŸ“‚ Integration
β”‚   β”œβ”€β”€ πŸ“‚ MessageQueue (Azure Service Bus / RabbitMQ)
β”‚
β”œβ”€β”€ πŸ“‚ Services
β”‚   β”œβ”€β”€ πŸ“‚ AuthAPI
β”‚   β”œβ”€β”€ πŸ“‚ EmailAPI
β”‚   β”œβ”€β”€ πŸ“‚ OrderAPI
β”‚   β”œβ”€β”€ πŸ“‚ ProductAPI
β”‚   β”œβ”€β”€ πŸ“‚ RewardAPI
β”‚   β”œβ”€β”€ πŸ“‚ ShoppingCartAPI
β”‚   β”œβ”€β”€ πŸ“‚ CouponAPI

πŸš€ Deployment

  • Can be deployed on Azure, Docker, or Kubernetes.
  • Update appsettings.json for production configurations.
  • Use Docker Compose to run all microservices together.

πŸ“§ Contact & Contributions

Feel free to contribute or reach out for any questions! πŸš€


About

πŸ›’ Manga Microservices E-Commerce Platform – "A scalable πŸ—οΈ and high-performance ⚑ microservices-based platform

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages