Coolstore Microservices

A full-stack .NET microservices build on Dapr and Tye
Alternatives To Coolstore Microservices
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Generator Jhipster20,5934,66618621 hours ago267September 02, 2022292apache-2.0TypeScript
JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures.
Webiny Js6,5731132 days ago251September 07, 2022250otherTypeScript
Open-source serverless enterprise CMS. Includes a headless CMS, page builder, form builder, and file manager. Easy to customize and expand. Deploys to AWS.
Clean Architecture Manga3,640
6 days ago74September 22, 201942apache-2.0C#
:cyclone: Clean Architecture with .NET6, C#10 and React+Redux. Use cases as central organizing structure, completely testable, decoupled from frameworks
Coolstore Microservices2,215
3 months ago25mitC#
A full-stack .NET microservices build on Dapr and Tye
Practical.cleanarchitecture1,529
3 days ago25C#
Full-stack .Net 7 Clean Architecture (Microservices + Dapr, Modular Monolith, Monolith), Blazor, Angular 15, React 18, Vue 3, Domain-Driven Design, CQRS, SOLID, Asp.Net Core Identity Custom Storage, Identity Server, Entity Framework Core, Selenium, SignalR, Hosted Services, Health Checks, Rate Limiting, Cloud (Azure, AWS) Services, ...
Piral1,4621562 days ago696July 09, 20227mitTypeScript
Framework for next generation web apps using micro frontends. :rocket:
K8s Mastery854
5 months ago18JavaScript
Repository for the article "Learn Kubernetes in Under 3 Hours"
Restaurant App641
23 days ago13C#
Restaurant App 🍔 is a sample open-source e-Commerce 🛒 application for ordering foods, powered by polyglot microservices architecture and cross-platform development including mobile and web
Chronos633
10 days ago21mitTypeScript
📊 📊 📊 Monitors the health and web traffic of servers, microservices, Kubernetes/Kafka clusters, containers, and AWS services with real-time data monitoring and receive automated notifications over Slack or email.
Fronts502
5 months ago115mitTypeScript
A progressive micro frontends framework for building Web applications
Alternatives To Coolstore Microservices
Select To Compare


Alternative Project Comparisons
Readme

Cool Store - Kubernetes-based polyglot microservices application with Istio service mesh

Travis (.org) Build Status Price OpenTracing Badge

CoolStore is a containerised polyglot microservices application consisting of services based on .NET Core, NodeJS and more running on Service Mesh. It demonstrates how to wire up small microservices into a larger application using microservice architectural principals. Read https://vietnam-devs.github.io for more information about how can we design and implement it.

The business domain for internal µservice is inspired from CoolStore project by JBoss Demo Central and Red Hat Demo Central. The readme file is inspired from GoogleCloudPlatform Demo.

Public presentation

Check out my blog, my chat or say hi on Twitter!

Become a sponsor on Patreon

Screenshots

Home page

home-page

Cart page

cart-page

Table of contents

OS, SDK, library, tooling and prerequisites

  • Windows 10 - the OS for developing and building this demo application .
  • Windows subsystem Linux - Ubuntu OS - the subsystem that helps to run easily the bash shell on Windows OS
  • 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)
  • istio - application works on Istio service mesh
  • helm - the best package manager to find, share, and use software built for Kubernetes
  • envoy-proxy - open source edge and service proxy, designed for cloud-native applications
  • .NET Core SDK 2.x - .NET Framework and .NET Core, including ASP.NET and ASP.NET Core
  • nodejs 10.x - JavaScript runtime built on Chrome's V8 JavaScript engine
  • typescript - a typed superset of JavaScript that compiles to plain JavaScript
  • identityserver - the Identity and Access Control solution for .NET Core
  • gRPC - a high-performance, open-source universal RPC framework
  • create-react-app - a modern web app by running one command
  • vue-cli - standard tooling for Vue.js development
  • apollo-client - the best way to use GraphQL to build client applications
  • tanka-graphql - GraphQL execution library with SignalR based server and ApolloLink implementation
  • netcorekit - a crafted microservices toolkit for building cloud-native apps on the .NET platform

High level software architecture

Architecture Screenshot

There are several individual µservices and infrastructure components that make up this app:

No. Service Description Source Endpoints
1. IdP (.NET Core + In-memory database)
Uses IdentityServer4 to authentication with OAuth 2.0 and OpenID Connect for the whole stack code dev and staging
2. GraphQL server (.NET Core)
The GraphQL server for backoffice application code dev and staging
3. OpenApi (.NET Core + envoy-proxy)
The OpenAPI which generated from gRPC contract files, hosted in OpenAPI format, and used envoy-proxy to proxy it code dev and staging
4. Web (PWA - Vuejs + Node.js)
Frontend based on vuejs and Node.js code dev and staging
5. Backoffice (React + TypeScript + Apollo-client)
The back office application for management business entities in the system code dev and staging
6. Catalog (Node.js + TypeScript + Mongo)
Serves products and prices for retail products code dev
7. Cart (.NET Core + MySQL)
Manages shopping cart for each customer code dev
8. Inventory (.NET Core + MySQL)
Serves inventory and availability data for retail products code dev
9. Rating (Node.js + TypeScript + Mongo)
Runs for rating products code dev

Installation

Development environment

Up and running manually with Docker for desktop

See https://vietnam-devs.github.io/docs/development/up-running-d4d-aks/#docker-for-desktop

Up and running with docker compose

$ docker-compose build
$ docker-compose up

Staging and Production environments

Up and Running on Azure Kubernetes Service (AKS)

See https://vietnam-devs.github.io/docs/development/up-running-d4d-aks/#azure-kubernetes-service-aks

µService development

Guidance for developing µService can be found at Clean Domain-Driven Design in 10 minutes

µService Screenshot

Open API

OpenAPI Screenshot

CI/CD

Lift and Shift

Service mesh

istio provide a wealth of benefits for the organizations that use them. There’s no denying, however, that adopting the cloud can put strains on DevOps teams. Developers must use microservices to architect for portability, meanwhile operators are managing extremely large hybrid and multi-cloud deployments. Istio lets you connect, secure, control, and observe services.

Distributed tracing

DAG chart

Trace chart

Metrics

Metrics chart

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :p

Contributors ✨

Thanks goes to these wonderful people (emoji key)


Thang Chung

💻 💬 📖 👀 🚇 🚧


Phuong Le

💻 📦 🚇


Phi Huynh

🤔 🚇


Thinh Nguyen

💻 🚧


Stuart Leeks

📖

Licence

Code released under the MIT license.

Popular Microservices Projects
Popular Reactjs Projects
Popular Application Programming Interfaces Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Typescript
C Sharp
Reactjs
Docker
Cloud Computing
Kubernetes
Postgresql
Redis
Rest Api
Graphql
Microservices
Mesh
Grpc
Domain Driven Design
Cloud Native
Istio
Service Mesh