Implementing an University microservices application based on different software architecture and technologies like .Net Core, CQRS, DDD, Clean Architecture, Docker, RabbitMQ, CAP, Grpc, Ocelot API Gateway, Identity Server, Redis, SqlServer, Entity Framework Core.
Implementing a University microservices application based on different software architecture and technologies like .Net Core, CQRS, DDD, Clean Architecture, Docker, RabbitMQ, CAP, Grpc, Ocelot API Gateway, Identity Server, Redis, SqlServer, Entity Framework Core.
? Keep in mind this repository is work in progress and will be complete over time ?
If you like my work, feel free to:
Thanks a bunch for supporting me!
Contributions are always welcome! Please take a look at the contribution guidelines pages first.
Thanks to all contributors, you're awesome and wouldn't be possible without you! The goal is to build a categorized community-driven collection of very well-known resources.
This project is currently under development.
The issues are represented in https://github.com/meysamhadeli/University-Microservices/issues
High-level plan is represented in the table
Feature | Status |
---|---|
Building Blocks | Completed ✔️ |
Courses Service | Completed ✔️ |
Departments Service | Completed ✔️ |
Instructors Service | Completed ✔️ |
Students Service | Completed ✔️ |
Identity Service | Completed ✔️ |
API Gateway | Under Development ?♂️ |
.NET 6
- .NET aspnet-api-versioning)** - Set of libraries which add service API versioning to ASP.NET Web API, OData with ASP.NET Web API, and ASP.NET CoreEF Core
- Modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrationsCAP
- An EventBus with local persistent message functionality for system integration in SOA or Microservice architectureFluentValidation
- Popular .NET validation library for building strongly-typed validation rulesSwagger & Swagger UI
- Swagger tools for documenting API's built on ASP.NET CoreSerilog
- Simple .NET logging with fully-structured events
Framework 4.5 and higher, which is simple and customisableScrutor
- Assembly scanning and decoration extensions for Microsoft.Extensions.DependencyInjectionOpentelemetry-dotnet
- The OpenTelemetry .NET ClientOcelot
- API Gateway created using .NET CoreSEQ
- Seq collects data over HTTP, while your applications use the best available structured logging APIs for your platform.Inner each service used clean architecture but we can use also vertical slice architecture also.
Our clean architecture in each service consists of 4 main parts: