티스토리 뷰

728x90
반응형

1. 도메인 설계

(1)  도메인 설계 카드 만들기

  • 목표
    • 도메인 ERD 다이어그램 그려보기
    • 자바 클래스로 도메인 표현해보기
  • Issue 생성 
    • labels : enhancement, documentation

 

(2) 다이어그램 생성하기

  • diagrams.net으로 이동
  • create new diagram > ERD 선택
    • 이름: project-board-erd.svg
    • 깃허브 연동 (이슈 번호 #8)
      • 깃크라켄에서 feature/#8-domain 브랜치 생성
      • 브랜치만 push하기
      • 새로고침하여 feature/#8-domain/document 하고 ok 누르기
      • commit message: #8 - erd 벡터 이미지 템플릿 추가
  • 왼쪽 Entity Relation에서 Table1 사용하면 좋다.
    • tip) ctrl+enter를 통해 새로운 내용을 추가할 수 있다.
  • 관리목적으로 메타 데이터도 추가해준다. (생성일시, 생성자, 수정일시, 수정자)
  • Entity Relation에서 원하는 선을 추가 할 수 있다. (1 to many)
  • Not Null은 bold 처리한다.
  • data type도 표기해준다.
    • id는 큰 사이즈를 잡고 가는 것이 관례이다. (중간에 요청사항에 의해 키우는 것이 어려울 수 있다.)
    • 최근에는 인프라의 발전으로 유지보수 측면에서 비용이 적은 것을 선호한다.

패스트캠퍼스 강의 내용 중 이미지 캡쳐

  • 저장
    • commit message : #8 - ERD 벡터 이미지 완성

 

(3) Java + Spring boot 개발

ERD 다이어그램을 참고하여 필요한 객체를 생성한다.

  • root 디렉토리 아래 domain 디렉토리를 생성한다.
  • Article 클래스를 생성한다. 필드에 도메인 정보들(id, title 등)을 추가한다.
package com.fastcampus.projectboard.domain;

import java.time.LocalDateTime;

public class Article {
    private Long id;
    private String title; // 제목
    private String content; // 본문
    private String hashtag; // 해시태그

    // 메타데이터 
    private LocalDateTime createdAt; // 생성일시
    private String createdBy; // 생성자
    private LocalDateTime modifiedAt; // 수정일시
    private String modifiedBy; // 수정자
}
  • domain 하위에 ArticleComent 클래스를 생성한다.
package com.fastcampus.projectboard.domain;

import java.time.LocalDateTime;

public class ArticleComment {
    private Long id;
    private Article article; // 게시글 (ID)
    private String content; // 본문

    //메타데이터
    private LocalDateTime createdAt; // 생성일시
    private String createdBy; // 생성자
    private LocalDateTime modifiedAt; // 수정일시
    private String modifiedBy; // 수정자
}

 

(4) GitKraken

  • 제일 먼저 pull 받으면, Article.java와 ArticleComent.java 가 생성된 것을 확인할 수 있다. 
  • commit message
    • #8 - 도메인 클래스 설계 (게시글, 댓글)
  • 이후 github에서 pull request를 완료한다.
    • This closes #8
  • merge까지 하고 다시 돌아와 pull 해주고 브랜치를 지워준다.

 

IntelliJ 단축키

  • ctrl+shift+F12 : 화면 확장 전환

 


 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.

https://bit.ly/43z0P6S

 

 

#패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완

728x90
반응형
댓글