Skip to content

kuring-250 동아리 모델 수정#666

Merged
boiledeggg merged 2 commits intodevelopfrom
fix/kuring-250_club_domain
Feb 8, 2026
Merged

kuring-250 동아리 모델 수정#666
boiledeggg merged 2 commits intodevelopfrom
fix/kuring-250_club_domain

Conversation

@boiledeggg
Copy link
Copy Markdown
Member

@boiledeggg boiledeggg commented Feb 8, 2026

https://kuring.atlassian.net/browse/KURING-250?atlOrigin=eyJpIjoiZGE1YzIxNzg5ODQxNDUwMzhlYjBlYTU1ZTAyMzM3OGUiLCJwIjoiaiJ9

요약

동아리 도메인 모델과 서버 응답 모델의 데이터가 일치하도록 수정했습니다.

참고: ku-ring/ku-ring-api-docs#4

Summary by CodeRabbit

  • 새로운 기능

    • 동아리에 고유 ID, 간단요약 및 상세 설명 필드 추가
    • 모임 장소(건물·호실)와 위도·경도 같은 위치 정보 추가
    • 설명 이미지 목록 및 포스터 이미지 지원
    • 구독 여부 및 구독 수 노출
  • 개선사항

    • 동아리 분류(카테고리·소속·세부구분) 체계화
    • 모집 상태(BEFORE/RECRUITING/CLOSED/ALWAYS) 명시 및 모집 기간 관리 개선
    • 데이터 구조 및 문서화 정비

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Feb 8, 2026

Walkthrough

Club 도메인 모델이 재구성되어 필드 추가/삭제와 새로운 타입(ClubCategory, ClubAffiliation, ClubDivision, ClubLocation, RecruitmentStatus 등) 도입 및 ClubRecruitment 구조 변경이 이루어졌습니다. 공개 API 서명이 확장되고 일부 이전 필드가 제거되었습니다.

Changes

Cohort / File(s) Summary
Club 도메인 모델 재설계
data/domain/src/main/java/com/ku_stacks/ku_ring/domain/Club.kt
Club 데이터 클래스 필드 대대적 변경: id, summary, category, affiliation, division, description, location, applyQualification, posterImageUrl, descriptionImageUrl, isSubscribed, subscribeCount 등 추가. introduction, applyRestriction, clubRoom, logoUrl 제거. ClubRecruitment 에서 content 제거, recruitmentStatus 추가. 새 enum/데이터클래스 ClubCategory, ClubAffiliation, ClubDivision, ClubLocation, RecruitmentStatus 도입 및 KDoc 업데이트.

Possibly related PRs

🐰 깡충깡충 코드밭을 지나,
새 타입들이 모여 둥지를 틀었네.
필드도 정리되고 길도 뚜렷해져,
도메인 밭엔 봄바람이 불고,
작은 당근 하나 축복을 전하네 🥕✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed PR 제목이 변경사항의 주요 내용을 명확하게 반영하고 있습니다. 'kuring-250 동아리 모델 수정'은 Club 데이터 클래스의 구조 재설계와 새로운 도메인 모델 도입이라는 핵심 변경을 정확하게 요약합니다.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/kuring-250_club_domain

No actionable comments were generated in the recent review. 🎉

🧹 Recent nitpick comments
data/domain/src/main/java/com/ku_stacks/ku_ring/domain/Club.kt (1)

117-122: latitudelongitude의 독립적인 nullable 처리를 확인해 주세요.

위도/경도는 일반적으로 쌍으로 존재하거나 둘 다 없는 경우가 대부분입니다. 서버 응답 모델에서 하나만 null이고 다른 하나는 값이 있는 케이스가 가능한지 확인해 보시고, 그렇지 않다면 별도의 nullable 타입(예: Pair<Double, Double>? 또는 별도 Coordinates 클래스)으로 묶는 것도 고려해볼 수 있습니다.


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

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🤖 Fix all issues with AI agents
In `@data/domain/src/main/java/com/ku_stacks/ku_ring/domain/Club.kt`:
- Around line 39-50: KDoc for the ClubCategory enum wrongly states "4가지 동아리
카테고리" while the enum ClubCategory (values: ACADEMIC, CULTURE_ARTS, SOCIAL,
ACTIVITIES, OTHERS) defines 5 categories; update the KDoc comment above enum
class ClubCategory to accurately reflect the number or wording (e.g., "5가지" or
remove the numeric claim) so the documentation matches the enum values.
- Around line 19-36: 클래스 Club의 KDoc에서 누락된 프로퍼티 설명을 추가하세요: data class Club의 프로퍼티
리스트 중 subscribeCount에 대해 다른 필드들처럼 `@property` subscribeCount 문장을 추가하여 구독자 수(또는 동아리
구독 수)를 설명하고 단위(예: 정수)를 명시하세요; KDoc은 클래스 정의 위의 기존 `@property` 블록과 동일한 스타일로 작성하여
일관성을 유지하세요.
- Line 17: KDoc for the Club class's posterImageUrl is incorrect (it still says
"동아리 로고 URL"); update the KDoc on the posterImageUrl property in Club (class
Club, property posterImageUrl) to accurately describe it as the poster image URL
(e.g., "동아리 포스터 이미지 URL (없으면 `null`)") so the comment matches the field name and
intent.
- Around line 76-83: The enum contains duplicate Korean display names:
SANGHUH_LIFE_SCIENCE and LIFE_SCIENCE both map to "생명과학대학" (and KU_CONVERGENCE
vs CONVERGENCE_SCI_TECH are similar); confirm the intended unique Korean labels
from the server/requirements and update the enum constants
(SANGHUH_LIFE_SCIENCE, LIFE_SCIENCE, KU_CONVERGENCE, CONVERGENCE_SCI_TECH) so
each has a distinct koreanName string (e.g., change one to "상허생명과학대학" or
"KU융합과학기술원" as appropriate), and adjust any reverse-lookup or UI code that
relies on koreanName to use the corrected values.

Comment thread data/domain/src/main/java/com/ku_stacks/ku_ring/domain/Club.kt Outdated
Comment thread data/domain/src/main/java/com/ku_stacks/ku_ring/domain/Club.kt
Comment thread data/domain/src/main/java/com/ku_stacks/ku_ring/domain/Club.kt
Comment thread data/domain/src/main/java/com/ku_stacks/ku_ring/domain/Club.kt Outdated
Copy link
Copy Markdown
Member

@mwy3055 mwy3055 left a comment

Choose a reason for hiding this comment

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

isRecruiting이 빠지긴 했는데 이건 recruitment로 대체 가능할듯 합니다. 토끼 코멘트만 한번 봐주세요

Comment thread data/domain/src/main/java/com/ku_stacks/ku_ring/domain/Club.kt Outdated
@boiledeggg boiledeggg requested a review from mwy3055 February 8, 2026 11:25
Copy link
Copy Markdown
Member

@mwy3055 mwy3055 left a comment

Choose a reason for hiding this comment

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

good

@boiledeggg boiledeggg merged commit b69166e into develop Feb 8, 2026
2 checks passed
@boiledeggg boiledeggg deleted the fix/kuring-250_club_domain branch February 8, 2026 12:35
l2hyunwoo pushed a commit that referenced this pull request Feb 16, 2026
* fix: 동아리 도메인 모델과 서버 응답 모델의 데이터가 일치하도록 수정

* fix: 주석 및 속성값 수정
boiledeggg added a commit that referenced this pull request Feb 22, 2026
* fix(deps): update dependency com.google.android.gms:play-services-auth to v21.5.0 (#640)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* refactor: core modules (#641)

* [#558] refactor: core:compose-util 모듈 분리 (Keyboard, Timer 등)

* [#558] refactor: core:ui 모듈 분리 (공통 UI 컴포넌트)

* [#558] refactor: core:ui-util 제거 및 리소스/Extension 이관

* [#558] refactor: core:thirdparty -> core:firebase-* 모듈 분리

* [#558] refactor: core:compose-locals 분리 및 core:thirdparty 제거

* [#558] fix: 리소스 참조 및 테스트 유틸 수정

* [#558] fix: snake_case 전부 교체

* [#558] fix: code review

* chore: dependencyGraph 태스크 configuration cache 대응 (#642)

* chore: dependencyGraph 태스크 configuration cache 대응

* chore: 리뷰 반영 + README 추가

* Update README.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(deps): update dependency androidx.compose:compose-bom to v2026 (#644)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency com.google.firebase:firebase-bom to v34.8.0 (#645)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update hilt to v2.58 (#647)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update junit-framework monorepo to v6.0.2 (#639)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update gradle to v9.3.0 (#649)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update kentaro-m/auto-assign-action action to v2.0.1 (#648)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency de.mannodermaus.android-junit5 to v2 (#638)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency org.mockito.kotlin:mockito-kotlin to v6.2.1 (#643)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* 🚀 bump version to 2.4.1

* fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.10.0 (#653)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency org.robolectric:robolectric to v4.16.1 (#650)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update ktor monorepo to v3.4.0 (#654)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency org.mockito.kotlin:mockito-kotlin to v6.2.2 (#652)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* kuring-250 동아리 탭 추가 (#655)

* feature: 동아리 탭 아이템 추가

* feature: 동아리 탭 route 추가

* feature: 동아리 도메인 객체 추가 (#661)

* chore: Kotlin/Gradle 버전업/AGP 9.0.0 대응/Gradle Daemon Toolcahin 설정 (#664)

* chore(deps): update gradle to v9.3.1 (#665)

* chore(deps): update dependency com.google.devtools.ksp to v2.3.5 (#657)

* kuring-251 동아리 온보딩 화면 개발 (#662)

* feature: 동아리 모듈 추가

동아리 화면 중 activity가 선언되는 feature:club 모듈을 선언

* feature: 온보딩 activity 추가

* feature: 온보딩 아이템 UI 및 state 선언

* feature: 제목만 보여주는 top bar 추가

* feature: 처음에 보여줄 동아리 카테고리 이름을 저장하는 preference 추가

* feature: 동아리 온보딩 UI 및 로직 구현

* feature: 온보딩 activity와 UI 연결

* feature: 온보딩 activity 시작 코드 추가

* review: 토끼 리뷰 반영

* review: 불필요한 빈줄 제거

* review: preview provier 적용

* kuring-250 동아리 모델 수정 (#666)

* fix: 동아리 도메인 모델과 서버 응답 모델의 데이터가 일치하도록 수정

* fix: 주석 및 속성값 수정

* feature: DefaultResponse를 제네릭으로 수정 (#667)

* kuring-253 동아리 탐색 화면 컴포넌트 구현 (#663)

* feature: 텍스트의 line-height를 보장하는 확장함수 추가

* feature: 멀티 액션을 지원하는 CenterTitleTopBar 컴포넌트 구현

* feature: 동아리 기능에서 공통으로 사용할 컴포넌트 구현

* feature: 동아리 탭에서 사용할 컴포넌트 구현

* chore: CenterTitleTopBar TODO 추가

* chore: Kotlin Datetime을 디버그에만 의존하도록 수정

* chore: ClubItemCard가 dDay를 내부적으로 관리하도록 수정

* fix: 날짜 로직 수정

* fix: 날짜 로직 확장함수화

* chore: 날짜 로직 확장함수 주석 추가

* fix: 날짜 로직 바운더리 추가

* chore: 동아리 목록 관련 컴포넌트 보완

- 칩버튼그룹 패딩 조정 및 확장 버튼 추가
- 탑바와 동아리 목록 아이템의 고차함수 파라미터명 수정
- 바텀시트의 skipPartiallyExpanded 활성화

* feature: 동아리 목록 표시를 위한 페이저 컴포넌트 구현

* chore: 동아리 컴포넌트 동작 방식 수정

- 칩버튼 그룹에서 해제가 되지 않는 문제 해결
- 바텀시트에서 선택지가 바뀌면 확인 버튼을 활성화하도록 수정

* feature: 동아리 목록 화면의 UI 상태 정의

* feature: 동아리 목록 화면 및 뷰모델 구현

* feature: 동아리 목록 화면을 MainScreen에 연결

* chore: 동아리 정렬 컴포넌트를 ui 모듈로 이전

* chore: 코드래빗 리뷰 반영

* chore: 동아리 목록을 보여주는 컴포넌트를 공통화

* fix: 수정자 오류 해결

* fix: ClubListScreen 프리뷰의 PagingData의 로딩 과정을 생략

* kuring-254 동아리 구독 화면 (#670)

* feature: 동아리 구독 목록 화면 및 뷰모델 구현

* feature: ClubSubscriptionActivity 구현 및 네비게이터에 등록

* feature: 동아리 목록화면에서 구독화면으로 이동하는 로직 추가

* fix: 구독 상태 변경 중 불필요한 코루틴 호출 제거

* chore: 디바이더 두께 지정 방식을 수정

* rename: ClubItemColumn 컴포넌트명 수정

* feature: 컴포넌트 상하좌우에 그라데이션 효과를 적용하는 수정자 확장함수

* fix: 선택 초기화 로직을 뷰모델에 캡슐화

* refactor: ClubDivisionChipButtonGroup 리팩터링

- 버튼 영역을 명확하게 정의
- 파라미터 정리

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: HyunWoo Lee (Nunu Lee) <54518925+l2hyunwoo@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Wooyoung Myung <mwy3055@gmail.com>
l2hyunwoo pushed a commit that referenced this pull request Mar 15, 2026
* fix: 동아리 도메인 모델과 서버 응답 모델의 데이터가 일치하도록 수정

* fix: 주석 및 속성값 수정
l2hyunwoo added a commit that referenced this pull request Mar 15, 2026
* fix(deps): update dependency com.google.android.gms:play-services-auth to v21.5.0 (#640)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* refactor: core modules (#641)

* [#558] refactor: core:compose-util 모듈 분리 (Keyboard, Timer 등)

* [#558] refactor: core:ui 모듈 분리 (공통 UI 컴포넌트)

* [#558] refactor: core:ui-util 제거 및 리소스/Extension 이관

* [#558] refactor: core:thirdparty -> core:firebase-* 모듈 분리

* [#558] refactor: core:compose-locals 분리 및 core:thirdparty 제거

* [#558] fix: 리소스 참조 및 테스트 유틸 수정

* [#558] fix: snake_case 전부 교체

* [#558] fix: code review

* chore: dependencyGraph 태스크 configuration cache 대응 (#642)

* chore: dependencyGraph 태스크 configuration cache 대응

* chore: 리뷰 반영 + README 추가

* Update README.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fix(deps): update dependency androidx.compose:compose-bom to v2026 (#644)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency com.google.firebase:firebase-bom to v34.8.0 (#645)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update hilt to v2.58 (#647)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update junit-framework monorepo to v6.0.2 (#639)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update gradle to v9.3.0 (#649)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update kentaro-m/auto-assign-action action to v2.0.1 (#648)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update dependency de.mannodermaus.android-junit5 to v2 (#638)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency org.mockito.kotlin:mockito-kotlin to v6.2.1 (#643)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* 🚀 bump version to 2.4.1

* fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-serialization-json to v1.10.0 (#653)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency org.robolectric:robolectric to v4.16.1 (#650)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update ktor monorepo to v3.4.0 (#654)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* fix(deps): update dependency org.mockito.kotlin:mockito-kotlin to v6.2.2 (#652)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* kuring-250 동아리 탭 추가 (#655)

* feature: 동아리 탭 아이템 추가

* feature: 동아리 탭 route 추가

* feature: 동아리 도메인 객체 추가 (#661)

* chore: Kotlin/Gradle 버전업/AGP 9.0.0 대응/Gradle Daemon Toolcahin 설정 (#664)

* chore(deps): update gradle to v9.3.1 (#665)

* chore(deps): update dependency com.google.devtools.ksp to v2.3.5 (#657)

* kuring-251 동아리 온보딩 화면 개발 (#662)

* feature: 동아리 모듈 추가

동아리 화면 중 activity가 선언되는 feature:club 모듈을 선언

* feature: 온보딩 activity 추가

* feature: 온보딩 아이템 UI 및 state 선언

* feature: 제목만 보여주는 top bar 추가

* feature: 처음에 보여줄 동아리 카테고리 이름을 저장하는 preference 추가

* feature: 동아리 온보딩 UI 및 로직 구현

* feature: 온보딩 activity와 UI 연결

* feature: 온보딩 activity 시작 코드 추가

* review: 토끼 리뷰 반영

* review: 불필요한 빈줄 제거

* review: preview provier 적용

* kuring-250 동아리 모델 수정 (#666)

* fix: 동아리 도메인 모델과 서버 응답 모델의 데이터가 일치하도록 수정

* fix: 주석 및 속성값 수정

* feature: DefaultResponse를 제네릭으로 수정 (#667)

* kuring-253 동아리 탐색 화면 컴포넌트 구현 (#663)

* feature: 텍스트의 line-height를 보장하는 확장함수 추가

* feature: 멀티 액션을 지원하는 CenterTitleTopBar 컴포넌트 구현

* feature: 동아리 기능에서 공통으로 사용할 컴포넌트 구현

* feature: 동아리 탭에서 사용할 컴포넌트 구현

* chore: CenterTitleTopBar TODO 추가

* chore: Kotlin Datetime을 디버그에만 의존하도록 수정

* chore: ClubItemCard가 dDay를 내부적으로 관리하도록 수정

* fix: 날짜 로직 수정

* fix: 날짜 로직 확장함수화

* chore: 날짜 로직 확장함수 주석 추가

* fix: 날짜 로직 바운더리 추가

* chore: 동아리 목록 관련 컴포넌트 보완

- 칩버튼그룹 패딩 조정 및 확장 버튼 추가
- 탑바와 동아리 목록 아이템의 고차함수 파라미터명 수정
- 바텀시트의 skipPartiallyExpanded 활성화

* feature: 동아리 목록 표시를 위한 페이저 컴포넌트 구현

* chore: 동아리 컴포넌트 동작 방식 수정

- 칩버튼 그룹에서 해제가 되지 않는 문제 해결
- 바텀시트에서 선택지가 바뀌면 확인 버튼을 활성화하도록 수정

* feature: 동아리 목록 화면의 UI 상태 정의

* feature: 동아리 목록 화면 및 뷰모델 구현

* feature: 동아리 목록 화면을 MainScreen에 연결

* chore: 동아리 정렬 컴포넌트를 ui 모듈로 이전

* chore: 코드래빗 리뷰 반영

* chore: 동아리 목록을 보여주는 컴포넌트를 공통화

* fix: 수정자 오류 해결

* fix: ClubListScreen 프리뷰의 PagingData의 로딩 과정을 생략

* kuring-254 동아리 구독 화면 (#670)

* feature: 동아리 구독 목록 화면 및 뷰모델 구현

* feature: ClubSubscriptionActivity 구현 및 네비게이터에 등록

* feature: 동아리 목록화면에서 구독화면으로 이동하는 로직 추가

* fix: 구독 상태 변경 중 불필요한 코루틴 호출 제거

* chore: 디바이더 두께 지정 방식을 수정

* rename: ClubItemColumn 컴포넌트명 수정

* feature: 컴포넌트 상하좌우에 그라데이션 효과를 적용하는 수정자 확장함수

* fix: 선택 초기화 로직을 뷰모델에 캡슐화

* refactor: ClubDivisionChipButtonGroup 리팩터링

- 버튼 영역을 명확하게 정의
- 파라미터 정리

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: HyunWoo Lee (Nunu Lee) <54518925+l2hyunwoo@users.noreply.github.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Wooyoung Myung <mwy3055@gmail.com>
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