Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 6 days 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 (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-10-14T07:50:32.000Z (about 2 years ago)
- Last Synced: 2024-06-20T10:12:58.023Z (5 months ago)
- Topics: architecture, clean-architecture, golang, object-oriented-programming
- Language: Go
- Homepage:
- Size: 132 KB
- Stars: 11
- Watchers: 3
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# go-cleanarchitecture
[![CircleCI](https://circleci.com/gh/IzumiSy/go-cleanarchitecture/tree/master.svg?style=svg)](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