Go Project Layout
Go 언어로 애플리케이션을 만들기 위한 프로젝트 기본 레이아웃입니다. 디렉토리 구조를 통일된 패턴으로 정의하여 관리하여 각 디렉토리의 역할을 명확히 하고, 유지보수와 코드의 가독성을 높일 수 있습니다. Architecture 다음과 같은 6가지 개념(Controller, Service, Repository, Storage, Domain, Pkg)을 기본 구조로 활용합니다. 각 개념에 대한 자세한 설명은 아래에 첨부하였습니다. flowchart LR A0(user) --> B0 A0(user) --> B1 A0(user) --> B2 A1(event) --> B3 B0 --> C B1 --> C B2 --> C B3 --> C subgraph domain / pkg subgraph controller B0(controller/http) B1(controller/grpc) B2(controller/cmd) B3(controller/event) end C(service) --> |optionnal| D(repository) --> E(storage) end Directories ├── cmd │ ├── server │ │ ├── internal │ │ │ ├── env....