그린더 팀의 벡엔드 코드의 구조는 레이어드 아키텍처를 사용한 모델입니다.
greendar ├── GreendarApplication.java ├── domain │ ├── eventtodo │ │ ├── api │ │ │ └── EventTodoApi.java │ │ ├── application │ │ │ └── EventTodoService.java │ │ ├── dao │ │ │ └── EventTodoRepository.java │ │ ├── domain │ │ │ └── EventTodo.java │ │ └── dto │ │ ├── EventTodoDtos.java │ │ └── EventTodoResponseDto.java │ ├── eventtodoitem │ ├── member │ └── privatetodo ├── global │ ├── common │ │ ├── ApiResponse.java │ │ ├── ApiResponseHeader.java │ │ └── error │ │ └── ExceptionController.java │ └── utils │ ├── Constants.java │ ├── CookieUtil.java │ └── HeaderUtil.java └── infra ├── email └── gcp └── storage
api layer: Api Controller부분
Service 의 코드를 이용하여 Client-Side가 사용할 api 의 형식을 정의 하는 기능을 한다.
특징으로는 비즈니스 로직(서비스에 필요한 로직)을 가급적이면 제외를 한다.
다른 도메인의 서비스의 메서드를 호출하여 요구사항에 맞는 기능을 만들 수 가 있다.
application Layer : Service
dao Layer : Repository