go-ddd

(★ 800)

Opinionated Domain Driven Design Template for Go

  • .env.example
  • .gitignore
  • .golangci.yml
  • codecov.yml
  • CONTRIBUTING.md
  • ddd-diagram-onion.png
  • DDD_CQRS_PRINCIPLES.md
  • docker-compose.yml
  • Dockerfile
  • go.mod
  • go.sum
  • LICENSE
  • Makefile
  • migrate.go
  • mkdocs.yml
  • README.md
  • README.zh-CN.md
  • SECURITY.md
  • sqlc.yaml

🚀 설치 가이드

1. 코드 내려받기
git clone https://github.com/sklinkert/go-ddd

깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.

cd go-ddd

방금 내려받은 프로젝트 폴더 안으로 이동합니다.

2. 공식 설치 스크립트

쉬움 추천
사전 준비물
  • Go go install 명령어를 쓰려면 Go가 필요합니다.
go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest

지정된 버전을 바로 다운로드해서 설치합니다. 레포를 직접 클론할 필요가 없습니다.

설치 후 새 터미널을 열고, 프로그램의 버전 확인 명령(예: --version)으로 정상 설치됐는지 확인하세요.

이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.

3. Docker

쉬움
사전 준비물
  • Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
  • Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
make docker-up # docker compose up --build

정의된 모든 컨테이너(서버, DB 등)를 한 번에 빌드하고 백그라운드에서 실행합니다.

make docker-down # tear everything down

생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.

make test # run all tests with the race detector (needs Docker)

생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.

make test-unit # run only tests that don't require Docker

생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.

터미널에 docker compose ps 를 입력해 컨테이너들이 Up 상태인지 확인하세요. README에 포트 번호가 적혀있다면 브라우저에서 http://localhost:포트번호 로 접속해보세요.

이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.

4. Go

보통
사전 준비물
  • Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
  • Go Go 언어 컴파일러 및 도구 모음입니다.
go run migrate.go -database-url "postgres://user:pass@localhost/db?sslmode=disable" -command up

따로 빌드하지 않고 바로 Go 프로그램을 실행합니다.

go run migrate.go -database-url "postgres://user:pass@localhost/db?sslmode=disable" -command down -steps 1

따로 빌드하지 않고 바로 Go 프로그램을 실행합니다.

go run migrate.go -database-url "postgres://user:pass@localhost/db?sslmode=disable" -command version

따로 빌드하지 않고 바로 Go 프로그램을 실행합니다.

go run migrate.go -database-url "postgres://user:pass@localhost/db?sslmode=disable" -command force -version 1

따로 빌드하지 않고 바로 Go 프로그램을 실행합니다.

go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest

이 명령어를 터미널에 그대로 입력해 실행하세요.

빌드가 에러 없이 끝나면 성공입니다. go run . 을 썼다면 터미널 출력을 확인하세요.

이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.

5. Make

보통
사전 준비물
  • Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
  • Make Linux/macOS는 보통 기본 설치되어 있습니다. Windows는 별도 설치(예: MSYS2, WSL)가 필요합니다.
make docker-up # docker compose up --build

정의된 모든 컨테이너(서버, DB 등)를 한 번에 빌드하고 백그라운드에서 실행합니다.

make docker-down # tear everything down

생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.

make run # or: go run ./cmd/marketplace

생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.

make build # build the server binary into ./bin

생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.

make test # run all tests with the race detector (needs Docker)

생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.

에러 없이 끝나면 성공입니다. 생성된 실행 파일을 직접 실행해보세요.

이 레포의 README에 적힌 실제 명령어를 그대로 가져왔습니다.

// repository documentation