티스토리 뷰
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 : 화면 확장 전환
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
#패스트캠퍼스 #포트폴리오 #직장인자기계발 #환급챌린지 #포트폴리오챌린지 #패스트캠퍼스후기 #초격차패키지 #오공완
728x90
반응형
'Study > FastCampus' 카테고리의 다른 글
[Java Project] Part 2. 게시판 서비스 만들기 - 데이터베이스 접근 로직2 (0) | 2023.08.29 |
---|---|
[Java Project] Part 2. 게시판 서비스 만들기 - 데이터베이스 접근 로직1 (0) | 2023.08.28 |
[Java Project] Part 2. 게시판 서비스 만들기 - 스프링 부트 프로젝트 (0) | 2023.08.26 |
[Java Project] Part 2. 게시판 서비스 만들기 - 유즈케이스2 및 API 설계 (0) | 2023.08.25 |
[Java Project] Part 2. 게시판 서비스 만들기 - 깃 브랜치 전략 및 유즈케이스1 (0) | 2023.08.24 |
댓글