laurens-runnable / gigmatch

Personal reference implementation of an event-driven microservice architecture.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Gigmatch

Personal reference implementation of an event-driven microservice architecture.

The example application is a freelance job matching platform.

Overview

Overview

Services are loosely-coupled, maintain their own storage and use their own dedicated stack. (i.e. Java, .NET, Node.js)

Commands Events
Represent actions Represent changes
Invoked synchronously through REST API Consumed asynchronously from Event Store
Point-to-point Publish/subscribe

Codebase

Local development

Requirements

  • OpenJDK 17
  • Node.js 18
  • Docker

Docker containers

To get started with local development, you can run in-memory Docker containers for the Infrastructure and Cloud services.

# Start/Stop containers for Infrastructure and Cloud services (recommended)
./local-dev/bin/cloud/up.sh
./local-dev/bin/cloud/down.sh
./local-dev/bin/cloud/follow-logs.sh

# Start/Stop Infrastructure containers only
# Useful when debugging Cloud services
./local-dev/bin/up.sh
./local-dev/bin/down.sh
./local-dev/bin/follow-logs.sh

You can then run the application services manually.

License

Public Domain

About

Personal reference implementation of an event-driven microservice architecture.

License:The Unlicense


Languages

Language:Kotlin 46.8%Language:TypeScript 34.8%Language:Java 11.2%Language:Vue 3.5%Language:Shell 1.8%Language:JavaScript 1.3%Language:Dockerfile 0.5%Language:HTML 0.1%