Skip to content

samverrall/go-task-application

Repository files navigation

go-task-application

A Task Management web application written in Golang microservices using the hexagonal architecture pattern.

This mono-repo holds all each microservice as an individual Go module. Each service holds a Dockerfile for containerization.

Services

gateway-service - README

A reverse proxy gateway which takes a REST HTTP API and forwards through to gRPC calls.

task-service - README

user-service - README

Handles user authentication and authorisation. Directly communicates user and session data with the gateway. Also exposes a gRPC adapter that other services can invoke if needed.

Service Pattern

See the Task Service for an example hexagonal (ports and adapters) microservice.

  • cmd/
    • grpc/
      • main.go
  • internal/
    • adapters/
      • left/
        • grpc/
      • right/
        • sqlite/
      • port/
        • domain/
        • repository/
        • service/
  • pkg/
    • config/

About

A practical Golang hexagonal architecture pattern microservices demo.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages