Skip to content

IzumiSy/go-cleanarchitecture

Repository files navigation

go-cleanarchitecture

CircleCI

This exploration project includes:

  • Authorization flow
  • Transaction
  • Logging
  • Asynchronous Pub/Sub (Redis, goroutine)
  • Type-safety (No interface{} as much as possible)
  • Multiple drivers (migration, web, CLI)
  • Testing (unit-testing, integration-testing with dredd)
  • CI integration (CircleCI)
  • Uses earthly for repeatable build

Build

# Builds a binary
$ earthly +build

# Builds an image
$ earthly +image

Run with middlewares

# Runs an application with middlewares up
$ earthly +middlewares-up
$ earthly +db-migrate
$ earthly +run

# Shuts down middlewares
$ earthly +middlewares-down

Tests

# Unit testing
$ earthly +unit-test

# Integration testing
$ earthly +integration-test

Architecture

WIP