https://github.com/izumisy/go-cleanarchitecture
Clean Architecture exploration in Golang
https://github.com/izumisy/go-cleanarchitecture
architecture clean-architecture golang object-oriented-programming
Last synced: about 1 year ago
JSON representation
Clean Architecture exploration in Golang
- Host: GitHub
- URL: https://github.com/izumisy/go-cleanarchitecture
- Owner: IzumiSy
- Created: 2018-08-24T05:30:23.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2022-10-14T07:50:32.000Z (over 3 years ago)
- Last Synced: 2025-03-24T17:21:16.374Z (about 1 year ago)
- Topics: architecture, clean-architecture, golang, object-oriented-programming
- Language: Go
- Homepage:
- Size: 132 KB
- Stars: 12
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# go-cleanarchitecture
[](https://circleci.com/gh/IzumiSy/go-cleanarchitecture/tree/master)
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](https://github.com/earthly/earthly) for repeatable build
## Build
```sh
# Builds a binary
$ earthly +build
# Builds an image
$ earthly +image
```
## Run with middlewares
```sh
# Runs an application with middlewares up
$ earthly +middlewares-up
$ earthly +db-migrate
$ earthly +run
# Shuts down middlewares
$ earthly +middlewares-down
```
## Tests
```sh
# Unit testing
$ earthly +unit-test
# Integration testing
$ earthly +integration-test
```
## Architecture
WIP