{"repo":"LordMoMA/Intelli-Mall","free":true,"listed":false,"github":"https://github.com/LordMoMA/Intelli-Mall","clone":"git clone https://github.com/LordMoMA/Intelli-Mall.git","description":"A distributed system that simulates a retail experience coupled with some futuristic shopping robots.","language":"Go","stars":64,"topics":["clean-architecture","distributed-systems","event-driven","event-driven-architecture","event-sourcing","golang","graphana","grpc","hexagonal-architecture","jaeger"],"license":null,"category":"networking-infra","readme_excerpt":"Intelli-Mall: Autonomous Commerce System High-level view of the components View Tree Structure of IntelliMall Intelli-Mall AWS Architecture How to start the application Starting the monolith: Starting the microservices Note: my local machine is Mac M2 ARM64, be sure to locate the docker image with the tag version compatible with your machine architecture. How to generate .pb.go files for the microservices let's take baskets microservice for example, once you have your .proto files like api.proto and events.proto specified in basketspb folder: buf generate inside the generate.go file will generate based on what is configured in the buf.gen.yaml file. Note: mockery tool in the Makefile @go install github.com/vektra/mockery/v2@latest will generate files starting with mock that contains a mock implementation of the BasketServiceClient interface defined in the basketspb package. The mock implementation allows you to test your code in isolation from the real implementation of the BasketServiceClient interface, making it easier to test and debug your code. For more info on using buf , please go to buf tutorial Docker Compose with either a monolith or microservices Swagger UI The monitoring services Use /cmd/busywork to simulate several users making requests to perform several different activities: Busywork Output You can increase the number of clients by passing in the -clients=n flag, with an upper limit of 25. The Jaeger UI for tracing Open http:// localhost:8081 in your browser t","default_branch":null,"files":null,"tree":[],"storefront":"/r/LordMoMA","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/LordMoMA/Intelli-Mall/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}