Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
840 commits
Select commit Hold shift + click to select a range
a50c3f0
Merge pull request #68 from DIGGING-PLAY/feat/#63-auth-api
kamja0510 Jan 13, 2026
02febc8
Merge branch 'develop' into feat/#69-editprofile-api
kamja0510 Jan 13, 2026
b4c2498
[feat] #73 TrackService 인터페이스 생성, searchTracks(음악 검색) 함수 정의
kamja0510 Jan 14, 2026
a616aac
[feat] #73 compose paging 라이브러리 버전 카탈로그에 정의
kamja0510 Jan 14, 2026
87acb69
[feat] #66 바텀시트 visible 변경 인텐트 수정
t1nm1ksun Jan 14, 2026
36c467c
[feat] #66 뒤로가기로 바텀시트 닫기
t1nm1ksun Jan 14, 2026
92608f3
ktlint Format
t1nm1ksun Jan 14, 2026
b570081
[feat] #66 samplePlaceable 최적화
t1nm1ksun Jan 14, 2026
952843f
Merge pull request #70 from DIGGING-PLAY/feat/#66-bottomsheet
t1nm1ksun Jan 14, 2026
88a20da
[feat] #73 domain 모듈에 사용할 paging common 라이브러리 버전 카탈로그 등록
kamja0510 Jan 14, 2026
14fe100
[feat] #73 AndroidComposeConventionPlugin.kt 에 paging 라이브러리 추가
kamja0510 Jan 14, 2026
2154e7c
[feat] #73 domain 모듈에 paging common 추가
kamja0510 Jan 14, 2026
2ae7cce
[feat] #73 data 모듈 convent plugin에 paging compose 라이브러리 추가
kamja0510 Jan 14, 2026
b78dcd9
[feat] #73 serialName 어노테이션 붙임
kamja0510 Jan 14, 2026
c8fdd47
[feat] #73 TrackPagingSource 구현
kamja0510 Jan 14, 2026
ceec030
[feat] #73 TrackRepository 인터페이스 구현 및 searchTracks 함수 정의
kamja0510 Jan 14, 2026
2bae5a7
[feat] #73 TrackRepository 인터페이스 구현 및 searchTracks 함수 정의
kamja0510 Jan 14, 2026
ed9888a
[feat] #73 TrackRepository 구현체 구현
kamja0510 Jan 14, 2026
8424ff8
[feat] #73 도메인 트랙 정보를 presentation 레이어의 music 객체로 변환하는 mapper 구현
kamja0510 Jan 14, 2026
3cfe541
[feat] #73 TrackService, TrackRepository di 정의 구현
kamja0510 Jan 14, 2026
66b911e
[feat] #73 빈 LazyPagingItems를 보여주어야 할때 사용할 확장함수 구현
kamja0510 Jan 14, 2026
1df58ef
[feat] #73 화면에 검색 기능 연결
kamja0510 Jan 14, 2026
597e8bc
[feat] #73 빈 값으로 검색 처리
kamja0510 Jan 14, 2026
9a43185
[feat] #73 data 모듈의 Track 객체 TrackResponse로 네이밍 변경
kamja0510 Jan 14, 2026
d6efab4
[feat] #73 domain 모듈의 TrackInfo 객체 Track으로 네이밍 변경
kamja0510 Jan 14, 2026
f8e7b9c
[feat] #73 Music 객체 TrackState로 네이밍 변경 및 음악 관련 변수명 track으로 통일
kamja0510 Jan 14, 2026
3f72d9a
Add InternalSerializationApi at freeCompilerArgs
t1nm1ksun Jan 14, 2026
91c020d
Delete "kotlinx-serialization-convertor"
t1nm1ksun Jan 14, 2026
938e357
Delete @OptIn(InternalSerializationApi::class)
t1nm1ksun Jan 14, 2026
d6f5ff9
ktlint Format
t1nm1ksun Jan 14, 2026
d4065cc
[feat] #71 노래 상세 API 연동
t1nm1ksun Jan 14, 2026
5f20fcb
[feat] #73 Track 모델에 isrc 추가
kamja0510 Jan 15, 2026
4a1052f
[feat] #73 TrackState data class의 thumbnailUrl non-nullable 하도록 변경, d…
kamja0510 Jan 15, 2026
c3d9c9f
[feat] #73 추천글 등록 api 흐름 구현
kamja0510 Jan 15, 2026
eadffde
[feat] #73 CommentContract의 isRegisterButtonEnabled 변수 track이 null이 아…
kamja0510 Jan 15, 2026
bdb58f0
[feat] #73 추천 글 등록 api 연동
kamja0510 Jan 15, 2026
85cdd31
[refactor] #73 TrackResponse 따로 파일로 분리
kamja0510 Jan 15, 2026
ac87c49
[feat] #73 음악 상세 조회 api 구현
kamja0510 Jan 15, 2026
2f759f9
[feat] #73 스크랩한 음악, 등록한 음악 data class 구현
kamja0510 Jan 15, 2026
49dc267
[feat] #73 스크랩한 음악, 등록한 음악 가져오는 함수(페이징) 정의
kamja0510 Jan 15, 2026
d319009
[feat] #73 커서 기반 등록한 트랙 조회 api 인터페이스 정의
kamja0510 Jan 15, 2026
6c1fb64
[feat] #73 커서 기반 등록한 트랙 조회 api 전체 플로우 구현
kamja0510 Jan 15, 2026
827b786
[feat] #73 커서 기반 보관한 트랙 조회 api retrofit 인터페이스 구현
kamja0510 Jan 15, 2026
7d51e1c
[feat] #73 ScrappedTracksPagingSource 구현
kamja0510 Jan 15, 2026
939b5ca
[feat] #73 UserRepository의 getScrappedTracks 구현체 구현
kamja0510 Jan 15, 2026
cae1f15
[feat] #73 GetMyScrappedTracksUseCase 구현
kamja0510 Jan 15, 2026
15c72c2
[fix] #73 GetMyScrappedTracksUseCase 네이밍 수정
kamja0510 Jan 15, 2026
b9be94d
[feat] #73 ui model인 BookmarkedMusic ScrappedTrackState로 네이밍 변경 및 사용하…
kamja0510 Jan 15, 2026
3e45a6f
[feat] #73 ui model인 BookmarkedMusic ScrappedTrackState로 네이밍 변경 및 사용하…
kamja0510 Jan 15, 2026
dbebd0e
[fix] #73 ScrappedTracksResponse에 @Serializable 어노테이션 빼먹은거 수정
kamja0510 Jan 15, 2026
9672df0
[feat] #73 보관한 음악 조회 api 화면 연결
kamja0510 Jan 15, 2026
53f8d86
[fix] #73 isrc가 오지 않는 response가 존재해서 nullable 하게 구현
kamja0510 Jan 15, 2026
2f12e4f
[fix] #73 serialname comment -> content로 수정
kamja0510 Jan 15, 2026
9e47171
[feat] #73 scrappedTrackList contract에서 삭제
kamja0510 Jan 15, 2026
3cd7aa9
[chore] #73 불필요한 코드 삭제
kamja0510 Jan 15, 2026
68b9a45
[feat] #73 cachedIn(viewModel)을 통해 flow를 viewModel의 생명주기에 종속
kamja0510 Jan 15, 2026
125d55d
[chore] #73 TrackPagingSource -> SearchedTracksPagingSource 네이밍 변경
kamja0510 Jan 15, 2026
767ca25
[chore] #73 params.loadSize 사용
kamja0510 Jan 15, 2026
149eee4
[chore] #73 ktlint
kamja0510 Jan 15, 2026
2061865
[feat] #71 임시 추천글 상세 구조 변경
t1nm1ksun Jan 15, 2026
4902c43
[feat] #71 postLike api
t1nm1ksun Jan 15, 2026
e026a27
[feat] #71 postScrap api
t1nm1ksun Jan 15, 2026
a7b25ed
[feat] #71 postDelete api
t1nm1ksun Jan 15, 2026
f4af002
[feat] #71 코드 포매팅 및 바텀시트 로직 추가
t1nm1ksun Jan 15, 2026
be3fa3a
Merge pull request #74 from DIGGING-PLAY/fix/opt-in-error
t1nm1ksun Jan 15, 2026
a9072cf
Squashed commit of the following:
t1nm1ksun Jan 15, 2026
1a970df
[chore] #73 Log 지우기
kamja0510 Jan 16, 2026
8f7ae0f
[chore] #73 잘못된 닉네임 카멜케이스로 네이밍 변경 pushON -> pushOn
kamja0510 Jan 16, 2026
3225ce1
[chore] #73 순서 잘못된 Timber.e 삭제
kamja0510 Jan 16, 2026
bb0ed1d
[refactor] #73 서버 통신 로직 함수화
kamja0510 Jan 16, 2026
4e08801
[chore] #73 ktlint
kamja0510 Jan 16, 2026
6f58881
[fix] #73 변수 명 잘못 참조된 것 수정 pushON -> pushOn
kamja0510 Jan 16, 2026
9675ec5
[chore] #73 load size 상수화
kamja0510 Jan 16, 2026
ee69607
[chore] #73 ktlint
kamja0510 Jan 16, 2026
2835bcc
[feat] #71 restore commit (2061865a2af73d2ff749f81e89955f514312e9cc)
t1nm1ksun Jan 16, 2026
95b964c
ktlint Format
t1nm1ksun Jan 16, 2026
4a2be30
[feat] #77 질문리스트 조회 api
t1nm1ksun Jan 16, 2026
57bcdd7
[feat] #77 오늘의 질문 조회 api
t1nm1ksun Jan 16, 2026
0da5765
[feat] #78 URL 상수 정의
kamja0510 Jan 16, 2026
8b6ebe7
[feat] #78 이용 약관 enum 타입에 Url 변수 추가
kamja0510 Jan 16, 2026
c66a82c
[feat] #78 약관 Row의 arrow 아이콘 클릭 시 노션 페이지 띄우도록 구현
kamja0510 Jan 16, 2026
24d5611
[feat] #78 프로필 사진 기본 이미지 수정
kamja0510 Jan 16, 2026
d446081
[feat] #78 온보딩 pager 1,2 페이지에 사진 추가
kamja0510 Jan 16, 2026
7e49627
[refactor] #78 온보딩 프로필 사진 설정 화면에서 profileImagePath를 Uri객체에서 String 객체…
kamja0510 Jan 16, 2026
7384ba4
[refactor] #78 프로필 사진 영역 컴포넌트화
kamja0510 Jan 16, 2026
f9574ef
Merge pull request #76 from DIGGING-PLAY/feat/#71-detail-api
t1nm1ksun Jan 17, 2026
aeba400
Merge remote-tracking branch 'origin/develop' into feat/#77-record-api
t1nm1ksun Jan 17, 2026
db5af52
오늘 추천글 조회 api
t1nm1ksun Jan 17, 2026
575a145
홈 아이템 좋아요, 스크랩 로직 추가
t1nm1ksun Jan 17, 2026
bac3934
Merge branch 'develop' into feat/#69-editprofile-api
kamja0510 Jan 17, 2026
6140a5d
[chore] #78 ktlint
kamja0510 Jan 17, 2026
29fd3c0
Merge pull request #72 from DIGGING-PLAY/feat/#69-editprofile-api
kamja0510 Jan 17, 2026
4f64fff
홈 잠김로직 수정
t1nm1ksun Jan 17, 2026
47cac7a
홈 잠김로직 수정
t1nm1ksun Jan 17, 2026
bab6f64
Merge remote-tracking branch 'origin/develop' into feat/#77-record-api
t1nm1ksun Jan 17, 2026
f181008
Merge branch 'develop' into feat/#73-search-api
kamja0510 Jan 17, 2026
c1616ed
[chore] #78 ktlint
kamja0510 Jan 17, 2026
ae8f25c
Merge pull request #75 from DIGGING-PLAY/feat/#73-search-api
kamja0510 Jan 17, 2026
45539e4
노래미리듣기 구현
t1nm1ksun Jan 17, 2026
d271479
ktlint format
t1nm1ksun Jan 17, 2026
abb566b
디스크 회전각도 로직 수정
t1nm1ksun Jan 17, 2026
81e7c9e
Merge remote-tracking branch 'origin/develop' into feat/#80-api
t1nm1ksun Jan 17, 2026
129b87a
[feat] #78 setting screen 웹뷰 띄우기 로직 구현
kamja0510 Jan 17, 2026
8b79347
페이지네이션 구현
t1nm1ksun Jan 17, 2026
062235b
ktlint Format
t1nm1ksun Jan 17, 2026
bb4d682
삭제 후 백스택 로직 추가
t1nm1ksun Jan 17, 2026
89622f6
백스택 추가
t1nm1ksun Jan 17, 2026
718292d
신고 바텀시트 선택 로직 적용
t1nm1ksun Jan 17, 2026
de5c5b9
신고바텀시트 선택아이콘 크기 수정
t1nm1ksun Jan 17, 2026
d1f3c82
ktlint Format
t1nm1ksun Jan 17, 2026
cd72590
[fix] #78 프로필 수정 api 에서 닉네임 수정 안되는 오류 수정
kamja0510 Jan 17, 2026
ff5c2fd
[feat] #78 등록하기 클릭 후 홈으로 이동 구현
kamja0510 Jan 17, 2026
c732e4f
[feat] #78 커뮤니티 가이드 버튼 클릭 시 커뮤니티 가이드 노션 페이지로 이동 구현
kamja0510 Jan 17, 2026
a2afd84
[feat] #78 보관한 곡 클릭 시 곡 상세 페이지로 이동 구현
kamja0510 Jan 17, 2026
b1a21f9
[feat] #78 MyPage Screen의 함수들 드릴링 하고 bottomNavigationController 만들어 전…
kamja0510 Jan 18, 2026
0bb63e0
[feat] #78 케밥 아이콘 클릭 시 바텀시트 올라오도록 구현
kamja0510 Jan 18, 2026
9e1be81
Merge branch 'develop' into feat/#78-qa-1-ui
kamja0510 Jan 18, 2026
87f36f1
[fix] #78 bottomsheet 디자인 수정
kamja0510 Jan 18, 2026
6ec71d0
[feat] #78 등록한 곡 삭제 구현
kamja0510 Jan 18, 2026
a3f2b5f
[feat] #78 navDisplay의 애니메이션 다 없에고 bottombar에 애니메이션 추가
kamja0510 Jan 18, 2026
7fa46e4
[feat] #78 bottomBar에 애니메이션 되돌리기
kamja0510 Jan 18, 2026
8a12512
[feat] #78 등록된 곡 클릭 시 상세 곡 페이지로 이동
kamja0510 Jan 18, 2026
e6c2143
Merge remote-tracking branch 'origin/develop' into feat/#77-record-api
t1nm1ksun Jan 18, 2026
28e3394
resolve conflict
t1nm1ksun Jan 18, 2026
0e9d07c
ktlint Format
t1nm1ksun Jan 18, 2026
97a678a
Merge pull request #79 from DIGGING-PLAY/feat/#77-record-api
t1nm1ksun Jan 18, 2026
553bfe9
Merge remote-tracking branch 'origin/develop' into feat/#80-api
t1nm1ksun Jan 18, 2026
289d512
resolve conflict
t1nm1ksun Jan 18, 2026
6780cdb
fix home title icon padding
t1nm1ksun Jan 18, 2026
bdf8c38
[feat] #78 알림 권한 붙이기 아직 안됨
kamja0510 Jan 18, 2026
1b8a379
ktlint Format
t1nm1ksun Jan 18, 2026
70b41cb
Update HomeViewModel.kt
t1nm1ksun Jan 18, 2026
57e98f6
[chore] #78 ktlint
kamja0510 Jan 18, 2026
8433350
[feat] #78 splash 시간 상수 1000L으로 변경
kamja0510 Jan 18, 2026
01e6ba4
Merge pull request #81 from DIGGING-PLAY/feat/#80-api
t1nm1ksun Jan 18, 2026
24f5c6d
Merge branch 'develop' into feat/#78-qa-1-ui
kamja0510 Jan 18, 2026
5c71b12
[feat] #78 baseimage 처리 구현
kamja0510 Jan 18, 2026
6c8df6c
[feat] #78 탭 로우 아래에 회색 박스 두기
kamja0510 Jan 18, 2026
3a6789d
[chore] #78 ktlint
kamja0510 Jan 20, 2026
36d4953
[fix] #83 로그인 화면 로고와 텍스트 사이 간격 수정
kamja0510 Jan 20, 2026
dce079e
[fix] #83 프로필 설정 화면 topbar와 텍스트 사이 간격 수정
kamja0510 Jan 20, 2026
e9e39bd
[feat] #83 닉네임 중복 검증 시 오류 문구 뜨도록 구현
kamja0510 Jan 20, 2026
491f29c
[fix] #83 프로필 설정 화면 버튼 label 가입하기로 변경
kamja0510 Jan 21, 2026
66aa80a
[fix] #83 프로필 이미지가 작을 경우 전체 사이즈를 채우지 않는 현상 수정
kamja0510 Jan 21, 2026
3db3309
[feat] #83 온보딩 화면에서 뒤로가기 버튼 없애고 제스처로 뒤로가기 할 시 로그인 화면으로 이동 구현
kamja0510 Jan 21, 2026
d6d2660
[chore] #83 ktlint
kamja0510 Jan 21, 2026
0ff5fce
trigger ci manual
kamja0510 Jan 21, 2026
8e4beb8
[fix] #85 보관함 empty view 문구 "아직 등록한 곡이 없어요" 에서 "아직 저장한 곡이 없어요"로 수정
kamja0510 Jan 21, 2026
401a94e
[fix] #85 앱 버전 텍스트 앞에 v 붙임
kamja0510 Jan 21, 2026
a98e6ca
[fix] #85 등록곡 기본값 0으로 수정
kamja0510 Jan 21, 2026
9918cd9
[fix] #85 회원 탈퇴 문구 줄바꿈 수정
kamja0510 Jan 21, 2026
d69af52
[fix] #85 마이페이지 화면의 프로필 이미지 터치 영역 수정
kamja0510 Jan 21, 2026
c5715fe
[feat] #85 프로필 수정 화면 닉네임 중복 검사 구현
kamja0510 Jan 21, 2026
43d5f23
[fix] #85 uri가 null이 올 경우(photoPicker에서 아무것도 선택하지 않을 경우) 아무 동작도 하지 않도…
kamja0510 Jan 21, 2026
336507d
[feat] #85 DPlayMusicListItem text 범위 넘어갈 시 ellipsis 처리 구현
kamja0510 Jan 21, 2026
9d91faa
[feat] #85 노래 제목이 overflow 되지 않을 경우는 내용만큼의 사이즈를 갖도록 구현
kamja0510 Jan 21, 2026
02149b3
Merge pull request #82 from DIGGING-PLAY/feat/#78-qa-1-ui
kamja0510 Jan 21, 2026
047b289
Merge pull request #84 from DIGGING-PLAY/feat/#83-qa-1-onboarding
kamja0510 Jan 21, 2026
37726a3
[chore] #85 ktlint
kamja0510 Jan 21, 2026
f1e6d22
Merge pull request #86 from DIGGING-PLAY/feat/#85-qa-1-mypage
kamja0510 Jan 21, 2026
fca9f48
[refactor] #87 Apply BADGE enum class
t1nm1ksun Jan 25, 2026
e8561fb
[refactor] #87 date 서버응답 반영
t1nm1ksun Jan 25, 2026
32a4b6a
[refactor] #87 상세화면 badge 전달
t1nm1ksun Jan 25, 2026
713a9a5
[refactor] #87 홈 북마크 위치 고정
t1nm1ksun Jan 25, 2026
9ae0516
[refactor] #87 홈 뷰모델 init으로 초기 데이터 로드
t1nm1ksun Jan 25, 2026
acfaca0
[refactor] #87 오늘 노래가 3개여도 잠금 ui 표시
t1nm1ksun Jan 25, 2026
10b9e31
[refactor] #87 잠금 앨범 모달 추가
t1nm1ksun Jan 25, 2026
48fe881
[feat] #87 상세화면 글 삭제 확인 모달 추가
t1nm1ksun Jan 25, 2026
95dc714
[feat] #87 글 등록/삭제 후 홈 데이터 새로고침
t1nm1ksun Jan 25, 2026
1ad2e0e
[feat] #87 노래제목, 가수 한줄제한추가
t1nm1ksun Jan 25, 2026
50238c1
[feat] #87 북마크 스낵바 네비게이션 연결
t1nm1ksun Jan 25, 2026
2f93cc6
[feat] #87 신고하기 바텀시 단일선택, 버튼 활성화 로직 추가
t1nm1ksun Jan 25, 2026
65d9593
[feat] #87 마이페이지 탭 유지 로직 추가
t1nm1ksun Jan 25, 2026
fc1d649
[feat] #87 홈 새로고침시 첫번쨰 노래로 이동
t1nm1ksun Jan 25, 2026
47b1bc5
ktlint Format
t1nm1ksun Jan 25, 2026
5228963
[feat] #87 과거 추천 기록 노래 리스트 아이템 미트볼 버튼 삭제
t1nm1ksun Jan 25, 2026
c633783
[feat] #89 오늘의 질문 알림 구현
kamja0510 Jan 27, 2026
1b2db85
[feat] #89 타유저 프로필에도 사용하기 위한 보관함, 등록한 곡 가져오기 UseCase 로직 변경
kamja0510 Jan 27, 2026
f340b2e
[feat] #89 타유저 정보 가져오는 repository 구현
kamja0510 Jan 27, 2026
a39018a
[feat] #89 타유저 프로필 모듈 생성 및 NavKey 생성
kamja0510 Jan 27, 2026
572d2a3
[feat] #89 타유저 프로필 구현 완료
kamja0510 Jan 27, 2026
d979ea5
[feat] #89 userId로 에디터, 타유저, 자신 구분 하는 usecase 구현
kamja0510 Jan 27, 2026
1fa7ffd
[feat] #89 타유저 프로필 클릭 시 이동 UI에 연동
kamja0510 Jan 27, 2026
56cb4a2
[feat] #89 mypage -> detail 이동 후 스크랩 한 뒤 뒤로 돌아왔을 때 변경사항 적용되도록 구현
kamja0510 Jan 27, 2026
a6b4c9e
[feat] #89 앱 아이콘 설정
kamja0510 Jan 27, 2026
bfdc315
[feat] #89 알림 권한 시스템 설정과 연동되도록 구현
kamja0510 Jan 27, 2026
538b2d7
[chore] #89 ktlint
kamja0510 Jan 27, 2026
a0289bb
[feat] #89 등록된 곡 -> 상세 화면 이동 후 삭제한 후에 돌아왔을 때 데이터 동기화 되도록 구현
kamja0510 Jan 28, 2026
5853edf
[feat] #89 home 화면 LargeCover 블러처리
kamja0510 Jan 28, 2026
1c9c835
[feat] #89 guidelineButton end padding 12.dp로 수정
kamja0510 Jan 28, 2026
1db9215
[chore] #89 ktlint
kamja0510 Jan 28, 2026
615079d
Merge pull request #88 from DIGGING-PLAY/refactor/#87-1st-qa
kamja0510 Jan 29, 2026
469eb01
Merge pull request #90 from DIGGING-PLAY/feat/#89-qa-1-new-feature
kamja0510 Jan 29, 2026
14c8bec
[refactor] #91 글 등록하기(바텀 네비게이션)버튼 배경 색상 수정
kamja0510 Jan 29, 2026
ea38e0f
[refactor] #91 DPlayChip png 파일로 사용하는 것으로 변경
kamja0510 Jan 29, 2026
768878c
[refactor] #91 상세, 홈 에서 내 프로필 누르면 마이 페이지로 이동하는 로직 추가
kamja0510 Jan 29, 2026
8c653fa
[refactor] #91 검색 empty view 문자 스타일 변경
kamja0510 Jan 29, 2026
46ee33d
[refactor] #91 글 등록 곡 정보 디자인 수정
kamja0510 Jan 29, 2026
9126e0e
[refactor] #91 커뮤니티 가이드 버튼 space 수정
kamja0510 Jan 29, 2026
cef896f
[refactor] #91 모달 라운드 값 수정
kamja0510 Jan 29, 2026
3424c4f
[refactor] #91 앱 네이밍, 앱 아이콘 수정
kamja0510 Jan 29, 2026
28b2f52
[refactor] #91 알림 문구 수정
kamja0510 Jan 29, 2026
e95d955
[feat] #91 에러 화면 구현
kamja0510 Jan 29, 2026
1661baa
[feat] #91 로딩 화면 구현
kamja0510 Jan 29, 2026
191297d
[feat] #91 로딩 상태 정의
kamja0510 Jan 29, 2026
b5754b6
[refactor] #91 errorScreen에 onBackIconClick 달기
kamja0510 Jan 29, 2026
eed0fa3
[refactor] #91 에러뷰 붙어야 될 것 같은 화면(화면 진입 시 데이터 로드 하는 api있는 화면)에 에러뷰 붙이기
kamja0510 Jan 29, 2026
724985c
[chore] #91 ktlint
kamja0510 Jan 29, 2026
b19c5fc
[feat] #93 릴리즈 설정
kamja0510 Jan 29, 2026
f0a3fd1
[fix] #93 난독화 하면서 kakao sdk 오류 수정
kamja0510 Jan 29, 2026
afb06ca
[chore] #93 릴리즈 빌드 시 생성되는 output-metadata.json, app-release.dm gitign…
kamja0510 Jan 29, 2026
0e8f612
[chore] #93 안쓰이는 recommend모듈 삭제
kamja0510 Jan 29, 2026
e2998b7
[refactor] #93 앱 버전 BuildConfig 이용해서 구현
kamja0510 Jan 29, 2026
9791f35
[fix] #93 보관함 탭에서 내 post의 상세페이지를 들어갔다가 삭제하고 나올 경우 삭제하고 refreshTrigger…
kamja0510 Jan 29, 2026
95eaa55
[chore] #93 ktlint
kamja0510 Jan 29, 2026
fe7779d
[refactor] #93 ci 환경에서 서명 인증 과정 스킵 추후에 CD 구현 시 추가
kamja0510 Jan 30, 2026
ec67248
[refactor] #93 ci 환경에서도 서명인증 정보 알 수 있도록 구현
kamja0510 Jan 30, 2026
6191a44
[fix] #95 날짜 정사각형으로 변경
t1nm1ksun Jan 31, 2026
7cf7482
[fix] #95 재생버튼 패딩 수정
t1nm1ksun Jan 31, 2026
2cc837f
[fix] #95 노래제목, 가수 패딩추가 및 배경 커버 gradient적용
t1nm1ksun Jan 31, 2026
bdff0d3
[fix] #95 과거 기록 백핸들러추가
t1nm1ksun Jan 31, 2026
f3bc09e
ktlint format
t1nm1ksun Jan 31, 2026
eb0fcdc
[fix] #95 스크랩, 좋아요 상태 변경 시 홈 리프레시 호출
t1nm1ksun Jan 31, 2026
65849c0
ktlint format
t1nm1ksun Jan 31, 2026
06cc077
[fix] #95 작성자 isAdmin 값 추가
t1nm1ksun Jan 31, 2026
eb93fab
[fix] #95 키 이미지 변경
t1nm1ksun Jan 31, 2026
ec9a029
Merge pull request #92 from DIGGING-PLAY/refactor/#91-qa-2-ui-jaemin
kamja0510 Jan 31, 2026
e66ebf6
[fix] #95 enum 변수명 수정
t1nm1ksun Jan 31, 2026
43a1a59
Merge remote-tracking branch 'origin/develop' into refactor/#95-secon…
t1nm1ksun Jan 31, 2026
c6ff7df
resolve conflict
t1nm1ksun Jan 31, 2026
37a54ab
[fix] #95 과거기록 툴팁 추가
t1nm1ksun Feb 1, 2026
52bfdfd
[fix] #95 에디터 프로필 추가
t1nm1ksun Feb 1, 2026
83fd479
[fix] #95 체크 아이템 영역 수정
t1nm1ksun Feb 1, 2026
d235dbf
[fix] #95 온보딩 닉네임 텍스트필드 패딩 수정
t1nm1ksun Feb 1, 2026
a0b9769
[fix] #95 프로필 수정 닉네임 텍스트 인풋 패딩 수정
t1nm1ksun Feb 1, 2026
029ac2c
ktlint format
t1nm1ksun Feb 1, 2026
7ee2bc5
[fix] #95 과거 기록 화면 날짜 설정 로직 적용
t1nm1ksun Feb 1, 2026
98c137e
[fix] #95 앱이름 한국어로 수정
t1nm1ksun Feb 1, 2026
3a0dc26
Merge pull request #96 from DIGGING-PLAY/refactor/#95-second-qa
kamja0510 Feb 2, 2026
8e34ffc
[feat] #93 릴리즈 설정
kamja0510 Jan 29, 2026
f92d153
[fix] #93 난독화 하면서 kakao sdk 오류 수정
kamja0510 Jan 29, 2026
ec27f79
[chore] #93 릴리즈 빌드 시 생성되는 output-metadata.json, app-release.dm gitign…
kamja0510 Jan 29, 2026
96cc617
[chore] #93 안쓰이는 recommend모듈 삭제
kamja0510 Jan 29, 2026
78c7cc3
[refactor] #93 앱 버전 BuildConfig 이용해서 구현
kamja0510 Jan 29, 2026
6b57bae
[fix] #93 보관함 탭에서 내 post의 상세페이지를 들어갔다가 삭제하고 나올 경우 삭제하고 refreshTrigger…
kamja0510 Jan 29, 2026
d99ff81
[chore] #93 ktlint
kamja0510 Jan 29, 2026
8660ef1
[refactor] #93 ci 환경에서 서명 인증 과정 스킵 추후에 CD 구현 시 추가
kamja0510 Jan 30, 2026
fbfdbf0
[refactor] #93 ci 환경에서도 서명인증 정보 알 수 있도록 구현
kamja0510 Jan 30, 2026
aa7b40b
[chore] #93 패키지명 변경
kamja0510 Mar 6, 2026
a05fba5
Merge remote-tracking branch 'origin/release/v1.0.0' into release/v1.0.0
kamja0510 Mar 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 14 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
root = true

[*]
max_line_length = off

[*.{kt,kts}]
ij_kotlin_name_count_to_use_star_import = 999
ij_kotlin_name_count_to_use_star_import_for_members = 999

# noinspection EditorConfigKeyCorrectness
ktlint_function_naming_ignore_when_annotated_with = Composable

# noinspection EditorConfigKeyCorrectness
ktlint_standard_no-unused-imports = enabled
15 changes: 15 additions & 0 deletions .github/ISSUE_TEMPLATE/issue_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
name: ISSUE_TEMPLATE
about: "Custom Issue Template"
title: '[]'
labels: ''
assignees: ''

---

## ✏️ 이슈 요약 (Summary)

이슈 요약

## 📌 상세 내용 (Description)
- [ ] 할 일
13 changes: 13 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Related issue 🛠
- closed #이슈넘버

## Work Description ✏️
- 작업 내용

## Screenshot 📸
- 영상/이미지 첨부

## Uncompleted Tasks 😅
- [ ] Task

## To Reviewers 📢
32 changes: 32 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Runtime Code Review Rules (for Copilot)

Scope: The following rules apply to all code review comments.

- Review language: Respond in Korean.
- Architecture: Verify compliance with Clean Architecture and MVI principles.
- Side-effect APIs
- Accessibility
- When implementing components in `core:designsystem`, review whether they are well designed in the Compose component style.
- Analyze Compose layout
- State Hoisting: Move state up to the lowest common ancestor that needs access to it. This improves testability and makes components more reusable.
- Unidirectional Data Flow: Data flows down, events flow up. This makes debugging and reasoning about your UI easier. Use remember to store state, and pass lambdas for events.
- Immutable Data: Use data classes and Immutable annotations where possible. This helps Compose optimize recompositions.
- Using 'remember' to cache results, but only for values that should survive recompositions (as this could cause a memory leak)
- Using the 'key' parameter in lazy layouts to avoid unnecessary recompositions
- Using 'derivedStateOf' for rapidly changing states
- Avoiding backwards writes, changing state after it has been in a composable to prevent recomposition loops
- Ensuring breaking down UI into smaller composables that do one thing well
- Proper state management, hoisting state to parent composables and using lifecycle-aware coroutine scopes like 'viewModelScope' or 'lifecycleScope' for async operations
- Adhering to Jetpack Compose API guidelines for naming, layering components, and ensuring accessibility
- Using Baseline Profiles and R8 optimizations
- Passing a 'Modifier' parameter in composables to allow customization and maintain consistency
- Not excessively overusing modifiers, resulting in reduced readability and clutter
- Unnecessary use of WebView inside of composables
- Refactor the Kotlin code below to be more idiomatic, efficient, and readable. Focus on
using Kotlin's features like extension functions, data classes, sealed classes, and
coroutines where appropriate. Explain the changes you made and why they improve the
code. Also, suggest potential performance optimizations.
- Analyze the code to identify the specific performance bottlenecks.
Suggest and implement optimizations to address these bottlenecks.
Include comments explaining the changes and their expected impact on performance.
If applicable, add logging or other performance metrics to measure the improvements.
57 changes: 57 additions & 0 deletions .github/workflows/dplay_ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Android CI
on:
pull_request:
branches: [ develop, main ]

jobs:
build:
name: CI
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Setup JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'

- name: Setup Gradle Cache
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/libs.versions.toml') }}
restore-keys: |
${{ runner.os }}-gradle-

- name: Grant execute permission for gradlew
run: chmod +x ./gradlew

- name: Touch local properties
run: touch local.properties

- name: Access local properties
env:
BASE_URL: ${{ secrets.BASE_URL }}
KAKAO_APP_KEY: ${{ secrets.KAKAO_APP_KEY }}
run: |
echo "base.url=$BASE_URL" >> local.properties
echo "kakao.app.key=$KAKAO_APP_KEY" >> local.properties

- name: Decode Keystore
run : |
echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > ./keystore.jks

- name: Run Ktlint Check
run: ./gradlew ktlintCheck

- name: Build with Gradle
run: ./gradlew build
env:
KEY_ALIAS: ${{ secrets.KEY_ALIAS }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}
STORE_PASSWORD: ${{ secrets.STORE_PASSWORD }}
STORE_FILE: ./keystore.jks
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -181,4 +181,7 @@ fabric.properties

!/gradle/wrapper/gradle-wrapper.jar

# End of https://www.toptal.com/developers/gitignore/api/android,androidstudio,kotlin
# End of https://www.toptal.com/developers/gitignore/api/android,androidstudio,kotlin

output-metadata.json
app-release.dm
76 changes: 33 additions & 43 deletions app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,56 +1,46 @@
import java.io.StringReader
import java.util.Properties

plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.dplay.android.application)
alias(libs.plugins.dplay.hilt)
alias(libs.plugins.dplay.test)
}

val localProperties =
providers
.fileContents(isolated.rootProject.projectDirectory.file("local.properties"))
.asText
.map { text ->
val props = Properties()
props.load(StringReader(text))
props
}

val kakaoNativeKey: String =
providers.gradleProperty("KAKAO_APP_KEY").orNull
?: System.getenv("KAKAO_APP_KEY")
?: localProperties.get().getProperty("kakao.app.key")
?: throw GradleException("KAKAO_APP_KEY (or local kakao.app.key) is missing")

android {
namespace = "com.dplay"
compileSdk = 36
namespace = "com.diggingplay"

defaultConfig {
applicationId = "com.dplay"
minSdk = 33
targetSdk = 36
versionCode = 1
versionName = "1.0"
applicationId = "com.diggingplay"

testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
compose = true
buildConfigField("String", "KAKAO_APP_KEY", "\"$kakaoNativeKey\"")
manifestPlaceholders["kakaoScheme"] = "kakao$kakaoNativeKey"
}
}

dependencies {

implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
}
implementation(projects.feature.main)
implementation(projects.core.navigation)
implementation(projects.core.data)
testImplementation(kotlin("test"))
implementation(libs.kakao.user)
implementation(libs.androidx.work.runtime.ktx)
}
24 changes: 3 additions & 21 deletions app/proguard-rules.pro
Original file line number Diff line number Diff line change
@@ -1,21 +1,3 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
# 카카오 sdk 내부에 모델이 이름이 바뀌어 NoSuchFieldException 발생 방지
-keep class com.kakao.sdk.auth.model.** { *; }
-keep class com.kakao.sdk.common.model.** { *; }
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.diggingplay

import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.platform.app.InstrumentationRegistry
import junit.framework.TestCase.assertEquals
import org.junit.Test
import org.junit.runner.RunWith

/**
* Instrumented test, which will execute on an Android device.
*
* See [testing documentation](http://d.android.com/tools/testing).
*/
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun useAppContext() {
// Context of the app under test.
val appContext = InstrumentationRegistry.getInstrumentation().targetContext
assertEquals("com.diggingplay", appContext.packageName)
}
}
32 changes: 25 additions & 7 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,27 +1,45 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PLAYBACK" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<application
android:name=".DPlayApplication"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:usesCleartextTraffic="true"
android:theme="@style/Theme.DPlay">

<activity
android:name=".MainActivity"
android:name="com.kakao.sdk.auth.AuthCodeHandlerActivity"
android:exported="true"
android:label="@string/app_name"
android:theme="@style/Theme.DPlay">
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="${kakaoScheme}"
android:host="oauth" />
</intent-filter>
</activity>

<service
android:name="com.example.common.audio.PlaybackService"
android:foregroundServiceType="mediaPlayback"
android:exported="true">
<intent-filter>
<action android:name="androidx.media3.session.MediaSessionService" />
</intent-filter>
</service>

</application>

</manifest>
Binary file added app/src/main/ic_launcher-playstore.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 17 additions & 0 deletions app/src/main/java/com/diggingplay/AppModule.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package com.diggingplay

import com.example.navigation.Navigator
import com.example.navigation.Splash
import dagger.Module
import dagger.Provides
import dagger.hilt.InstallIn
import dagger.hilt.android.components.ActivityRetainedComponent
import dagger.hilt.android.scopes.ActivityRetainedScoped

@Module
@InstallIn(ActivityRetainedComponent::class)
object AppModule {
@Provides
@ActivityRetainedScoped
fun provideNavigator(): Navigator = Navigator(startDestination = Splash)
}
Loading