• Stars
    star
    4,110
  • Rank 10,555 (Top 0.3 %)
  • Language
    Go
  • License
    MIT License
  • Created about 2 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

β˜• A practical event-driven microservices demo built with Golang. Nomad, Consul Connect, Vault, and Terraform for deployment

go-coffeeshop

An event-driven microservices coffee shop application has been written in Golang and deployed using Nomad, Consul Connect, Vault, and Terraform.

Other versions in .NET/C# can be found at:

Technical stack

CoffeeShop - Choreography Saga

coffeeshop

Services

No. Service URI
1 grpc-gateway http://localhost:5000
2 product service http://localhost:5001
3 counter service http://localhost:5002
4 barista service worker only
5 kitchen service worker only
6 web http://localhost:8888

Starting project

Jump into .devcontainer, then

> make docker-compose

From vscode => Press F1 => Type Simple Browser View => Choose it and enter http://localhost:8888. Enjoy!!!

Screenshots

Home screen

home_screen

Payment screen

payment_screen

Order list screen

order_list_screen

HashiCorp stack deployment

coffeeshop_hashicorp

The details of how to run it can be find at deployment with Nomad, Consult Connect and Vault.

Development

Clean Domain-driven Design

clean_ddd

Generate dependency injection instances with wire

> make wire

Generate code with sqlc

> make sqlc

Debug Apps

Debug golang app in monorepo

Trouble shooting

Development project trouble shooting

Roadmap

  • βœ… Enhance project structure with DDD patterns
  • Add testing
  • Add and integrate with observability libs and tools
  • Add user identity management (authentication and authorization)
  • Add resiliency

Credits

More Repositories

1

awesome-dotnet-core

🐝 A collection of awesome .NET core libraries, tools, frameworks and software
C#
18,711
star
2

clean-code-dotnet

πŸ› Clean Code concepts and tools adapted for .NET
C#
6,204
star
3

clean-architecture-dotnet

πŸ•Έ Yet Another .NET Clean Architecture, but for Microservices project. It uses Minimal Clean Architecture with DDD-lite, CQRS-lite, and just enough Cloud-native patterns apply on the simple eCommerce sample and run on Tye with Dapr extension 🍻
C#
1,229
star
4

blog-core

Modular blog using Blazor with clean domain-driven design patterns
CSS
393
star
5

practical-dapr

A full-stack .NET microservices build on Dapr and Tye
C#
301
star
6

practical-dotnet-aspire

The practical .NET Aspire builds on the coffeeshop app business domain
C#
250
star
7

northwind-dotnet

A full-stack .NET 6 Microservices build on Minimal APIs and C# 10
C#
182
star
8

magazine-website

🐭 A magazine website (using .NET Core, ASP.NET Core, EF Core) with DDD, CQRS, microservices, asynchronous programming applied...
C#
169
star
9

webassembly-tour

βš™οΈ Take you through a tour of WebAssembly (WASM targets on WASI) with wasmCloud, Krustlet, WAGI, etc. 🌟 Give it a star if you like it.
Rust
149
star
10

GrpcJsonTranscoder

A filter which allows a RESTful JSON API client to send requests to .NET web server over HTTP and get proxied to a gRPC service
C#
121
star
11

coffeeshop-on-nomad

The .NET coffeeshop application runs on Docker, Nomad and Consul Connect
C#
108
star
12

shopping-cart-k8s

Service Mesh patterns for Microservices
C#
62
star
13

ShoppingCartDemo

The demo using MSA approach with .NET Core stack
C#
61
star
14

practical-opentelemetry

Make OpenTelemetry works on .NET Core with features such as tracing, logs and metrics on multiple protocols like HTTP/gRPC/UDP/TCP...
C#
59
star
15

bff-auth

The demonstration of modern authentication using BFF pattern and authorization enforcer using OPA
C#
51
star
16

coffeeshop-modular

.NET coffee shop application with modular approach
C#
47
star
17

magazine-website-mvc-5

A magazine website that implemented using ASP.NET MVC 5, Web API 2 and AngularJs
JavaScript
46
star
18

dapr-labs

Many forms of coffeeshop implemented by C# and Rust run on WebAssembly/WASI (Spin) + Dapr. ⭐️ Star to support our work!
C#
43
star
19

coffeeshop-on-dapr

The coffeeshop event-driven application is developed in C# and runs on Dapr (AKS)
C#
36
star
20

magazine-website-akka

The experiment on the akkadotnet
C#
23
star
21

coffeeshop-dapr-workflow

Opinionated coffeeshop application builds with Dapr workflow
C#
23
star
22

coolstore-moduliths

The coolstore website on modular monolith approach
C#
19
star
23

practical-cqrs-es

This repo contains all CQRS and ES with Clean Architecture on .NET Core
C#
16
star
24

modular-starter-kit

The starter kit with entire modular approach to help remove boilerplate code in developing
C#
15
star
25

fernet-dotnet

Fernet generates and verifies HMAC-based authentication tokens
C#
14
star
26

thangchung

11
star
27

thangchung.github.io

:trollface: thangchung zone
CSS
10
star
28

MessageBusLite

The lightweight version of message bus (event + command) on the .NET Core
C#
9
star
29

minimal-apis-csharp10

C# 10 and Minimal APIs demo for Vietnam .NET Conf 2021
C#
7
star
30

actix-dapr-rs

Make dapr-rs working with actix-web better
Rust
6
star
31

northwind-rs

The northwind application with the clean architecture approach powered by Rust
Rust
6
star
32

branca-dotnet

Authenticated and encrypted API tokens using modern crypto
C#
6
star
33

cinema-booking

Cinema Booking Application
JavaScript
5
star
34

todo-bicep

C#
5
star
35

authentication-authorization-dotnetcore-course

Authentication & Authorization in ASP.NET Core 2.0 (May 2018)
C#
4
star
36

tailwindonblazor-template

Makes Tailwind works with Blazor (live-reload mode)
C#
4
star
37

dapr-actors-experiment

This is an experiment that use Dapr actors on booking movie scenario
C#
4
star
38

todo-dotnet6

This is todo app on .NET 6 and deploy to Heroku
C#
4
star
39

presentations

My presentation slides and content
3
star
40

NUnit2Report

Export a report for NUnit framework
C#
3
star
41

NHibernate3Sample

The short example that wrote in NHibernate 3 Alpha 2, Fluent NHibernate, Autofac,...
3
star
42

owasp-quiz

The set of OWASP quiz
JavaScript
3
star
43

netcorelibs

The .NET Core best practices and tips for booting up the project development.
JavaScript
3
star
44

elm-quizzer

Quizzer Application
Elm
2
star
45

todo-atmos

Todo application on Atmos (WebAssembly with WASI)
Rust
2
star
46

graphql4net

The simple GraphQL for .NET developers.
C#
2
star
47

ConfORMSample

Using ConfORM for entity mappings and made mutiple database instances for SessionFactory management.
C#
2
star
48

magazine-website-lite

JavaScript
2
star
49

footballdata

C#
2
star
50

practical-dotnet-with-cna

C#
1
star
51

football-scores-lite

The run-time live football scores system
JavaScript
1
star
52

pocket-movies

Personal pocket movies that consume Rotten Tomatoes API for searching movies.
C#
1
star
53

gprc-blog

The modern blog totally builds with gRPC protocol
1
star
54

yew-parceljs

πŸ“¦ The experiment web application builds with Yew (WebAssembly framework on Rust) + Tailwind and Parceljs v2
Rust
1
star
55

fermyon-vagrant-box

Vagrant box that contains Docker, Nomad, Consul, Spin to get starting with fermyon platform
1
star
56

coffeeshop-on-spinkube

1
star