Skip to content

Feature/#29 문항 세트, 발행 도메인 및 문항세트 생성, 수정, 삭제, 컨펌 API 구현#30

Merged
seokbeom00 merged 19 commits intodevelopfrom
feature/#29
Feb 3, 2025
Merged

Feature/#29 문항 세트, 발행 도메인 및 문항세트 생성, 수정, 삭제, 컨펌 API 구현#30
seokbeom00 merged 19 commits intodevelopfrom
feature/#29

Conversation

@seokbeom00
Copy link
Contributor

@seokbeom00 seokbeom00 commented Jan 31, 2025

🌱 관련 이슈

📌 작업 내용 및 특이사항

  • 다음과 같은 도메인 관계를 생각하며 구현했습니다.
image

문항과 문항세트 (다대다 관계)

  • 문항은 여러 문항세트에 속할 수 있고, 문항 세트 또한 여러 개의 문항을 가지고 있습니다.
  • 때문의 DDD 개발론의 ID참조를 통한 단방향 매핑을 통해 구현했습니다.
  • String 리스트로 저장을 할까 생각했지만, 문항 Repository가 ProblemId를 기준으로 키값을 관리하기 때문에, ProblemId 리스트로 문항들을 관리하기로 결정했습니다.

문항세트와 발행

  • 아직 API를 구현해보지 않아서 그럴 수도 있지만, 날짜와 Id 참조를 통한 문항 세트만 존재하는 발행 테이블을 만들면 된다고 생각했습니다.

문항세트 수정

https://github.com/team-MoPlus/moplus_server/blob/ffa7cf32e1808386441c8ab9e05ab13ad5c957e3/src/main/java/com/moplus/moplus_server/domain/problemset/service/ProblemSetUpdateService.java#L38-L50

  • 문항세트를 업데이트할 시, 요청으로 받은 문항 ID들이 실제 DB에 있는 값들인지 확인하는 로직을 추가했습니다.

문항세트 컨펌

https://github.com/team-MoPlus/moplus_server/blob/ffa7cf32e1808386441c8ab9e05ab13ad5c957e3/src/main/java/com/moplus/moplus_server/domain/problem/domain/problem/Problem.java#L124-L133

  • 문항세트를 "컨펌" 상태로 바꾸는 경우에 문항세트 내의 문항들이 유효한지 판단하는 로직을 추가했습니다.

📝 테스트 사항

image

@seokbeom00 seokbeom00 added the Type: Feature [이슈 목적] 새로운 기능 추가 label Jan 31, 2025
@seokbeom00 seokbeom00 requested a review from sejoon00 January 31, 2025 16:01
@seokbeom00 seokbeom00 self-assigned this Jan 31, 2025
@seokbeom00 seokbeom00 changed the title Feature/#29 문항 세트, 발행 도메인 설계 및 구현 Feature/#29 문항 세트, 발행 도메인 및 문항세트 생성, 수정, 삭제, 컨펌 API 구현 Jan 31, 2025
Copy link
Contributor

@sejoon00 sejoon00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!

Copy link
Contributor

@sejoon00 sejoon00 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

수고하셨습니다!

@seokbeom00 seokbeom00 merged commit 9d2dfa3 into develop Feb 3, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: Feature [이슈 목적] 새로운 기능 추가

Projects

None yet

Development

Successfully merging this pull request may close these issues.

✨ 문항세트, 발행 도메인 설계 및 구현

2 participants

Comments