프로젝트 구성 매뉴얼 - wonsungyoun/test GitHub Wiki

Welcome to the test wiki! [[TOC]]

프로젝트 기본

1. 개발 환경

언어 : JAVA 12
프레임워크 : SpringBoot 2.2
데이터베이스 : mariaDB 2.4.1

2. 개발 도구

IntellJ Community IDEA

보조 Plugin:

  • SonarLint
    코드품질점검

  • CheckStyle
    코드규칙점검

3. 보조 도구

PostMan

  • API TEST

Dbeaver

  • DataBase Tool

프로젝트 세팅

1. check out

  1. 인텔리제이에서 [VCS] - [Get from Version Control] 클릭

capture1

2.url에 http://172.20.0.7:9000/enliple/mobon/service/conversion 입력

image

  1. Yes를 눌러 프로젝트를 생성한다.

image

  1. 현재 프로젝트 혹은 새 프로젝트를 클릭한다.

image

  1. 새 프로젝트일 시 [File] - [Project Structure]를 클릭한다.

image

  1. Project SDK, language level을 모두 12로 맞춘다.

image

  1. [File] - [Settings]를 클릭한다.

image

8.[Build,Execution, Deployment] - [Build Tools] - [Gradle]에서 jvm 설정을 12로 맞춰준다.

image

9.[Plugins]로 이동 후 lombok, Sonarlint, CheckStyle 등을 설치한다.

image image image

프로젝트 구성

1. 전체 구성

★ MSA 기반의 멀티프로젝트로써 dao, core, controller 별로 분류하여 각각의 프로젝트를 가지고 있다.
image

2. mobon.service.conversion

★ 부트 설정 및 컨트롤러, 리스너 등을 담당하는 프로젝트
image

  • config : 부트, 카프카 등을 설정하는 클래스에 대한 패키지
  • controller : 컨트롤러를 담당하는 클래스에 대한 패키지
  • handler : 예외 처리 핸들러에 대한 패키지
  • listener : 카프카로부터 데이터를 받아오는 클래스에 대한 패키지

3. conversion.core

★ 코어 로직을 담당하는 프로젝트로 DDD가 적용되어 도메인쪽에 많은 로직을 가지고 있다.
image

  • constants : 공통 상수 클래스에 대한 패키지
  • domain : 도메인 클래스에 대한 패키지로 코어 프로젝트의 핵심.

conversion : 전환 도메인에 대한 패키지
history : 액션로그 도메인에 대한 패키지
recommend : 추천 RTB 도메인에 대한 패키지

  • exception : 예외 클래스에 대한 패키지
  • lifeCycle : dao 생명주기 인터페이스 관련 패키지
  • persist : dao 인터페이스 관련 패키지
  • service : 서비스와 서비스로직에 대한 패키지
  • util : 공통적인 메소드를 지니고 있는 클래스에 대한 패키지

4. conversion.jdbc

★ dao 로직을 담당하는 프로젝트.
image

  • lifeCycle : dao 인스턴스를 생성하는 패키지.
  • persist : dao 로직이 들어있는 패키지로 마이바티스로 mariadb와 통신을 주고받는다.
⚠️ **GitHub.com Fallback** ⚠️