Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[새기능] 편지 생성기능 구현 #20

Merged
merged 19 commits into from
Nov 23, 2024
Merged

[새기능] 편지 생성기능 구현 #20

merged 19 commits into from
Nov 23, 2024

Conversation

jyj1289
Copy link
Member

@jyj1289 jyj1289 commented Nov 23, 2024

🎫 관련 이슈

close #6


📄 개요

편지 생성, 조회 기능과 일기 분석기능을 만들었습니다.


🔨 작업 내용

  • 편지 엔티티를 생성했어요.
  • 감정일기에 분석감정과 키워드를 추가했어요.
  • AIClient와 AIService를 만들었어요.
  • 편지 생성 API를 만들었어요.
  • 편지 조회(단일, 전체) API를 만들었어요.
  • 위 API들에 대한 테스트 코드를 작성했어요.
  • 위 API들을 문서화했어요.

🏁 확인 사항

  • 테스트를 완료했나요?
  • API 문서를 작성했나요?
  • 코드 컨벤션을 준수했나요?
  • 불필요한 로그, 주석, import 등을 삭제했나요?

🙋🏻 덧붙일 말

- 일기 감정 분석 기능을 구현했어요.
- AIClient 및 AIService를 구현했어요.
- Diary의 필드가 많아 @build 어노테이션을 붙였어요.
- 일기 저장 및 수정시 감정을 분석하도록 구현했어요.
- 편지 엔티티를 생성했어요.
- 캐릭터 타입 Enum에 AI 서버에서 필요한 id를 구현했어요.
- AI 서버 필드에 따라 EmotionAndKeyword DTO를 구현했어요.
- AI 서버에서 편지 생성 시간이 늦어질 수 있어 FeignClient의 타임아웃 시간을 최대 5분으로 늘렸어요.
- Http Status를 Created로 지정했어요.
- 편지 생성 API 테스트 코드를 작성했어요.
- 편지 생성 API를 문서화했어요.
- EmotionAndKeyword DTO에 Diary를 인자로 하는 생성자를 만들어 가독성을 높였어요.
- 친밀도를 올리기 위해서 Transactional 어노테이션을 추가했어요
- EmotionList가 Null일때를 방지하기 위해서 어노테이션을 추가했어요.
- 편지 단일 조회 및 전체 조회 기능을 구현했어요.
- 편지 단일 조회 및 전체 조회 API 테스트 코드를 작성했어요.
- 편지 단일 조회 및 전체 조회 API를 문서화했어요.
@jyj1289 jyj1289 linked an issue Nov 23, 2024 that may be closed by this pull request
9 tasks
@jyj1289 jyj1289 requested a review from cabbage16 November 23, 2024 20:56
@jyj1289 jyj1289 self-assigned this Nov 23, 2024
Copy link

이렇게 리뷰해주세요.

🖐️ 규칙

  1. 개선이 필요한지 충분히 설명해주세요.
  2. 답을 알려주기보다는 스스로 고민하고 개선 방법을 선택할 수 있게 해주세요.
  3. 코드를 깔끔하게 유지하고, 일관되게 구현하도록 안내해 주세요.
  4. 리뷰 과정이 숙제검사가 아닌 학습과정으로 느낄 수 있게 리뷰해 주세요.
  5. 리뷰를 위한 리뷰를 하지 마세요. 피드백 할 게 없으면 칭찬해 주세요.

🥬 우선순위

리뷰 중요도에 따라 다음과 같은 prefix를 붙여주세요.

예시 - P5) 쓸모없는 주석 삭제해주세요.

  • P1: 꼭 반영해주세요 (Request changes)
  • P2: 적극적으로 고려해주세요 (Request changes)
  • P3: 웬만하면 반영해 주세요 (Comment)
  • P4: 반영해도 좋고 넘어가도 좋습니다 (Approve)
  • P5: 그냥 사소한 의견입니다 (Approve)

- LetterFacade에 있는 getAllLetter는 굳이 exception handlering을 필요없다고 판단되어 삭제했어요.
- 친밀도 증가 메서드 이름을 incrementFriendShip에서 increaseFriendShip으로 변경했어요.
import java.time.LocalDateTime;

@Getter
@AllArgsConstructor
Copy link
Member

Choose a reason for hiding this comment

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

P4) LetterResponse에는 @AllArgsConstructor 가 있고, ListLetterResponse에는 없고... 어노테이션 붙이는 기준이 궁금합니다.

@cabbage16 cabbage16 merged commit 380efb5 into develop Nov 23, 2024
2 checks passed
@cabbage16 cabbage16 deleted the feat/#6 branch November 23, 2024 21:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[새기능] 편지 생성기능 구현
2 participants