Skip to content

isutare412/hexago

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hexago

System architecture PoC tuned for Go. The name Hexago was taken from Hexagonal Architecture.

Considerations

Overview

Hexago CQRS diagram

Modules

API gateway module for hexago service.

Payment module for hexago service.

Includes common libraries of hexago modules.

Infrastructure

  1. Run infrastructures using docker compose.
make infra
# 1) up
# 2) down
# 3) ps
# 4) logs
# 5) quit
# Please enter your choice: 1
  1. Add local dns to each insfrastructure for local development. Optional for docker environment.
sudo tee -a /etc/hosts > /dev/null <<EOT
127.0.0.1 mongodb
127.0.0.1 kafka1
127.0.0.1 kafka2
EOT
  1. Create kafka topics using kafka-ui.
    • donation-request

Test Drive

  1. Prepare infrastructures above.

  2. Build hexago modules.

make image-gateway
make image-payment
  1. Run hexago modules.
make run-gateway
make run-payment
  1. Test scenarios.

  2. Stop hexago modules.

make stop-gateway
make stop-payment