/micro-commerce

ASP.NET Core 8.0, .NET Aspire, React, Nextjs, K8S, ELK stack, SonarQube

Primary LanguageC#MIT LicenseMIT

Micro Commerce

Project Azure GitHub Sonar
catalog-api Build Status catalog-api Quality Gate Status
identity-api Build Status identity-api Quality Gate Status
ordering-api Build Status Quality Gate Status
basket-api Build Status Quality Gate Status

Micro Commerce is a simple commercial application. It demonstrates how to wire up small micro-services into a larger application using micro-services architectural principals.

Technical stack

Infrastructure

  • Docker for desktop (Kubernetes enabled) - The easiest tool to run Docker, Docker Swarm and Kubernetes on Mac and Windows
  • Kubernetes / AKS - The app is designed to run on Kubernetes (both locally on "Docker for Desktop" as well as on the cloud with AKS)
  • Helm - Best package manager to find, share, and use software built for Kubernetes
  • Dapr - An event-driven, portable runtime for building microservices on cloud and edge
  • Istio - for traffic management

Front-end

  • TypeScript - A typed superset of JavaScript that compiles to plain JavaScript
  • Next.js - A modern server side rendering for React application
  • Angular - A modern SPA application

Back-end

  • .NET Core 5 - .NET Framework and .NET Core, including ASP.NET and ASP.NET Core
  • EF Core 5 - Modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations
  • IdentityServer4 - Identity and Access Control solution for .NET Core
  • FluentValidation - Popular .NET validation library for building strongly-typed validation rules
  • MediatR - Simple, unambitious mediator implementation in .NET
  • Serilog - Simple .NET logging with fully-structured events

CI & CD