buemura / event-driven-commerce

An ecommerce application built applying concepts of distributed systems, microservices and event-driven architecture

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Event Driven Commerce

Overview

  • An ecommerce application built applying concepts of distributed systems, microservices and event-driven architecture.
  • The api-gtw serves REST endpoints to the web-ui, and internally performs gRPC calls to all others microservices. Additionally, there is an async communication flow for order payement where order-svc sends a message to RabbitMQ and payment-svc process it asynchronously.

Architecture Diagram

Diagram

Technologies used

Backend

  • Golang
  • PostgreSQL
  • RabbitMQ
  • gRPC
  • REST

Frontend

  • TypeScript
  • NextJS
  • Tailwind CSS

How to run

Local

  • The script below will start all the necessary databases and services
# Docker and docker-compose are required*
sh scripts/env_up.sh

About

An ecommerce application built applying concepts of distributed systems, microservices and event-driven architecture


Languages

Language:TypeScript 59.2%Language:Go 39.4%Language:Dockerfile 0.7%Language:CSS 0.5%Language:JavaScript 0.1%Language:Shell 0.0%