Skip to content

Conversation

@jjaeroong
Copy link
Collaborator

@jjaeroong jjaeroong commented Aug 18, 2025

PR 타입(하나 이상의 PR 타입을 선택해주세요)

  • 기능 추가
  • 기능 삭제
  • 버그 수정
  • 의존성, 환경 변수, 빌드 관련 코드 업데이트
  • 리팩터링

반영 브랜치

ex) feat/login -> dev

작업 내용

ex) 로그인 시, 구글 소셜 로그인 기능을 추가했습니다.

테스트 결과

ex) 베이스 브랜치에 포함되기 위한 코드는 모두 정상적으로 동작해야 합니다. 결과물에 대한 스크린샷, GIF, 혹은 라이브

Summary by CodeRabbit

  • New Features
    • 닉네임 생성 시 “ 새싹” 접미사 표시(저장 시 자동 제거)
  • Refactor
    • 팟 상세/조회 응답의 날짜 포맷 표준화(yyyy.MM 또는 yyyy.MM.dd), 시작/종료일을 문자열로 제공
    • 멤버 정보 응답에서 kakaoId 필드 제거
    • 팟 이름 변경 API를 /my-pots/{pot_id}/rename로 이전
  • Documentation
    • 팟 생성 요청에 날짜 관련 필드/포맷 예시 추가(예: 2025.08)
    • 멤버 조회 API 요약 문구 간소화

@jjaeroong jjaeroong merged commit dcaff91 into main Aug 18, 2025
1 check passed
@coderabbitai
Copy link

coderabbitai bot commented Aug 18, 2025

Caution

Review failed

The pull request is closed.

Walkthrough

컨버터와 DTO 전반에서 팟 시작/종료일을 문자열 기반으로 처리·포맷하도록 변경하고, 상세 응답은 월 단위 포맷을 적용했습니다. 팟 이름 변경 API는 PotController에서 제거되고 MyPotController로 이동했습니다. 멤버 DTO에서 kakaoId가 제거됐으며, 닉네임 생성·저장 로직에 “ 새싹” 접미사 처리 추가가 반영되었습니다.

Changes

Cohort / File(s) Change summary
Date formatting utilities
src/main/java/.../common/util/DateFormatter.java
문자열 입력용 포맷터 추가(yyyy-MM-dd 입력, yyyy.MM 및 yyyy.MM.dd 출력). 신규 API: format(String), formatToMonth(String). 파싱 실패 시 원문 반환.
Pot conversion and date handling
src/main/java/.../pot/converter/PotConverter.java, src/main/java/.../pot/converter/PotDetailConverter.java
엔티티 생성 시 날짜를 문자열로 저장(String.valueOf). DTO 변환 시 DateFormatter.format/formatToMonth로 표준 포맷 적용. PotDetail 응답의 시작/종료일은 월 포맷 문자열로 제공.
Controllers (rename API and docs)
src/main/java/.../pot/controller/MyPotController.java, src/main/java/.../pot/controller/PotController.java, src/main/java/.../pot/controller/PotMemberController.java
팟 이름 변경 API를 MyPotController에 PATCH /my-pots/{pot_id}/rename로 추가하고 PotController에서 제거. Pot 생성 API 문서에 기간 필드 포맷(yyyy.MM) 명시. 멤버 조회 API 요약 문구 단순화.
Pot member mapping and DTO
src/main/java/.../pot/converter/PotMemberConverter.java, src/main/java/.../pot/dto/PotMemberInfoResponseDto.java
kakaoId 필드 및 설정 제거. 생성자용 팩토리 메서드 toCreatorEntity 삭제. 불필요한 import 제거.
Pot request DTO
src/main/java/.../pot/dto/PotRequestDto.java
필드 추가: potStartDate(String), potEndDate(String), potRecruitmentDeadline(LocalDate), potContent, potSummary, recruitmentDetails(List). potStatus 제거. 여러 필드에 @Schema 메타데이터 추가.
User nickname logic
src/main/java/.../user/service/UserCommandServiceImpl.java
createNickname에서 표시용 “ 새싹” 접미사 추가. 저장 전 trimNickname에 “새싹” 제거 로직 포함.

Sequence Diagram(s)

sequenceDiagram
  actor Client
  participant MyPotController
  participant PotCommandService

  Client->>MyPotController: PATCH /my-pots/{pot_id}/rename (PotNameUpdateRequestDto)
  MyPotController->>PotCommandService: updatePotName(pot_id, request)
  PotCommandService-->>MyPotController: String (result)
  MyPotController-->>Client: ApiResponse<String>
Loading
sequenceDiagram
  participant Client
  participant PotConverter
  participant DateFormatter

  Client->>PotConverter: PotRequestDto(potStartDate, potEndDate)
  PotConverter->>PotConverter: toEntity(String.valueOf(...))
  PotConverter-->>Client: Pot entity (dates as String)

  Client->>PotConverter: entity -> DTO
  PotConverter->>DateFormatter: format()/formatToMonth()
  DateFormatter-->>PotConverter: formatted String
  PotConverter-->>Client: DTO (formatted dates)
Loading
sequenceDiagram
  actor User
  participant UserCommandService
  participant Repository

  User->>UserCommandService: createNickname()
  UserCommandService->>UserCommandService: generate base + " 새싹"
  UserCommandService-->>User: NicknameResponseDto (with " 새싹")

  User->>UserCommandService: save profile(nickname with " 새싹")
  UserCommandService->>UserCommandService: trimNickname(remove " 새싹")
  UserCommandService->>Repository: save(base nickname)
  Repository-->>UserCommandService: ok
  UserCommandService-->>User: success
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~55 minutes

Possibly related PRs

Suggested labels

:art: refactor

Poem

토끼는 깡총, 날짜를 곱게 점으로 찍고,
달만 쏙 빼 포맷을 살짝 바꾸고,
“새싹” 한 잎 닉네임에 살포시 얹어,
팟 이름은 새 길로 패치해 옮기고,
카카오 꼬리는 살짝 숨겼지요.
봄빛처럼 반짝이는 코드여, 뛰어라! 🥕✨

Tip

🔌 Remote MCP (Model Context Protocol) integration is now available!

Pro plan users can now connect to remote MCP servers from the Integrations page. Connect with popular remote MCPs such as Notion and Linear to add more context to your reviews and chats.


📜 Recent review details

Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 67ea38e and 9b3a6af.

📒 Files selected for processing (10)
  • src/main/java/stackpot/stackpot/common/util/DateFormatter.java (2 hunks)
  • src/main/java/stackpot/stackpot/pot/controller/MyPotController.java (2 hunks)
  • src/main/java/stackpot/stackpot/pot/controller/PotController.java (1 hunks)
  • src/main/java/stackpot/stackpot/pot/controller/PotMemberController.java (1 hunks)
  • src/main/java/stackpot/stackpot/pot/converter/PotConverter.java (3 hunks)
  • src/main/java/stackpot/stackpot/pot/converter/PotDetailConverter.java (1 hunks)
  • src/main/java/stackpot/stackpot/pot/converter/PotMemberConverter.java (0 hunks)
  • src/main/java/stackpot/stackpot/pot/dto/PotMemberInfoResponseDto.java (0 hunks)
  • src/main/java/stackpot/stackpot/pot/dto/PotRequestDto.java (2 hunks)
  • src/main/java/stackpot/stackpot/user/service/UserCommandServiceImpl.java (2 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

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.

3 participants