aspnetrun / run-aspnetcore-microservices

Microservices on .Net platforms which used ASP.NET Web API, Docker, RabbitMQ, MassTransit, Grpc, Yarp API Gateway, PostgreSQL, Redis, SQLite, SqlServer, Marten, Entity Framework Core, CQRS, MediatR, DDD, Vertical and Clean Architecture implementation with using latest features of .NET 8 and C# 12
https://www.udemy.com/course/microservices-architecture-and-implementation-on-dotnet/?couponCode=JUNE24
MIT License
2.53k stars 1.38k forks source link
api-gateway aspnet-core aspnet-web-api aspnetcore-microservices clean-architecture cqrs-pattern docker event-driven event-sourcing eventbus mediator-pattern micorservices microservices-architecture mongodb ocelot-gateway rabbitmq redis rest-api sql-server swagger

UDEMY COURSE WITH DISCOUNTED - Step by Step Development of this Repository -> https://www.udemy.com/course/microservices-architecture-and-implementation-on-dotnet/?couponCode=JUNE24

See the overall picture of implementations on microservices with .net tools on real-world e-commerce microservices project;

microservices

There is a couple of microservices which implemented e-commerce modules over Catalog, Basket, Discount and Ordering microservices with NoSQL (DocumentDb, Redis) and Relational databases (PostgreSQL, Sql Server) with communicating over RabbitMQ Event Driven Communication and using Yarp API Gateway.

Check Explanation of this Repository on Medium

Whats Including In This Repository

We have implemented below features over the run-aspnetcore-microservices repository.

Catalog microservice which includes;

Basket microservice which includes;

Discount microservice which includes;

Microservices Communication

Ordering Microservice

Yarp API Gateway Microservice

WebUI ShoppingApp Microservice

Docker Compose establishment with all microservices on docker;

Run The Project

You will need the following tools:

Installing

Follow these steps to get your development environment set up: (Before Run Start the Docker Desktop)

  1. Clone the repository

  2. Once Docker for Windows is installed, go to the Settings > Advanced option, from the Docker icon in the system tray, to configure the minimum amount of memory and CPU like so:

    • Memory: 4 GB
    • CPU: 2
  3. At the root directory of solution, select docker-compose and Set a startup project. Run docker-compose without debugging on visual studio. Or you can go to root directory which include docker-compose.yml files, run below command:

    docker-compose -f docker-compose.yml -f docker-compose.override.yml up -d
  4. Wait for docker compose all microservices. That’s it! (some microservices need extra time to work so please wait if not worked in first shut)

  5. Launch Shopping Web UI -> https://localhost:6065 in your browser to view index page. You can use Web project in order to call microservices over Yarp API Gateway. When you checkout the basket you can follow queue record on RabbitMQ dashboard.

mainscreen2

Authors

See also the list of contributors who participated in this project. Check also gihtub page of repository.