Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
563 commits
Select commit Hold shift + click to select a range
d932d32
Merge pull request #72 from Kusitms32th-KuCheck/feat/#71-attendanceNu…
minzix Oct 31, 2025
209abaf
Merge pull request #74 from Kusitms32th-KuCheck/feat/#73-memberAttend…
minzix Oct 31, 2025
fc910a7
feat: S3Client Config 설정을 위한 의존성 추가 #75
minzix Nov 1, 2025
9fca65b
feat: S3Client Config 설정 #75
minzix Nov 1, 2025
e6e871a
feat: FK 제약 위반 방지를 위해 연관 테이블 레코드 삭제용 함수 추가 #75
minzix Nov 1, 2025
ee5f8ed
feat: SessionRepository에 detailId 조회 및 세션-상세 연결 해제 쿼리 추가 #75
minzix Nov 1, 2025
3a93bdb
feat: SessionImageRepository에 detailId 기반 이미지 조회 및 일괄 삭제 쿼리 추가 #75
minzix Nov 1, 2025
f2aaac5
feat: 세션 정보 삭제 로직 추가 #75
minzix Nov 1, 2025
1297ff3
feat: 세션 정보 삭제 로직 facade로 정리 #75
minzix Nov 1, 2025
78f82a8
feat: 세션 정보 삭제 API 추가 #75
minzix Nov 1, 2025
89bc108
chore: swagger 문서 summary 수정 #75
minzix Nov 1, 2025
37b9a88
refactor : 불참사유서 세션 날짜순으로 반환 #77
kimyeoungrok Nov 3, 2025
97d0038
refactor : 세션에 공휴일 세션 여부 필드 추가 #77
kimyeoungrok Nov 3, 2025
5b665f7
refactor : 공휴일 세션 여부도 dto에 추가 #77
kimyeoungrok Nov 3, 2025
4859b8c
refactor : 전체 세션 정보 조회 엔드포인트 수정 #77
kimyeoungrok Nov 3, 2025
fe22f0e
Merge pull request #76 from Kusitms32th-KuCheck/feat/#75-sessionDelete
minzix Nov 3, 2025
eaefe1c
Merge pull request #78 from Kusitms32th-KuCheck/refactor/#77-qa1
minzix Nov 3, 2025
2a5f135
refactor : 세션 생성 시 공휴일 세션 여부도 입력받기 #79
kimyeoungrok Nov 3, 2025
511fdbb
Merge pull request #80 from Kusitms32th-KuCheck/refactor/#79-addHoliday
minzix Nov 4, 2025
82dd00c
feat: 카카오 로그인 시 클라이언트의 요청 환경 상태를 enum으로 정리 #82
minzix Nov 4, 2025
faa5514
feat: 클라이언트에서 요청 환경 상태를 request로 전달하도록 dto 수정 #82
minzix Nov 4, 2025
e89a468
refactor: YAML의 단일 redirect-uri 주입 방식을 Map 기반 다중 환경(LOCAL/DEV) redire…
minzix Nov 4, 2025
3d8b008
refactor: 컨트롤러 로직을 서비스로 위임하여 책임 분리 및 컨트롤러 단순화 #82
minzix Nov 4, 2025
22429ee
feat: 추가적인 auth 도메인의 에러코드 추가 #82
minzix Nov 4, 2025
5401845
Merge pull request #83 from Kusitms32th-KuCheck/refactor/#82-kakaoLogin
minzix Nov 4, 2025
9eabea5
refactor: 변수명 수정 #81
minzix Nov 4, 2025
82bc746
refactor: 1→0 based paging으로 변환하는 로직 중복 제거 #81
minzix Nov 4, 2025
b15c558
feat : 알림 정보(제목, 내용) 상수화 #84
kimyeoungrok Nov 4, 2025
2b8d43b
feat : 큐픽 승인/반려 시 푸시 알림 전송 추가 #84
kimyeoungrok Nov 4, 2025
df0f770
feat: ABSENT_WITH_CAUSE(기타 사유, -1점) 상태 추가 #81
minzix Nov 5, 2025
c7e64be
chore: 줄바꿈 #81
minzix Nov 5, 2025
fffbd66
feat: 불참사유서 제출시의 상태와 운영진 승인시의 상태 필드 분리해서 추가 #81
minzix Nov 5, 2025
39c9883
chore: submitType, approvedType 필드 분리 적용 #81
minzix Nov 5, 2025
3feeeb2
chore: 불필요한 import문 제거 #81
minzix Nov 5, 2025
d331b50
feat: 함수명 getCnt → getCount 로 수정 #81
minzix Nov 5, 2025
45c162a
feat: ABSENT_WITH_CAUSE 상태 추가 적용 #81
minzix Nov 5, 2025
e65e689
chore: submitType, approvedType 필드 분리 적용 #81
minzix Nov 5, 2025
de1f95d
feat: AbsentReport의 approvedType과 Attendance의 AttendancePointType을 매핑…
minzix Nov 5, 2025
b034efb
feat: AbsenceReportToAttendancePointMapper 적용 #81
minzix Nov 5, 2025
fd678cf
feat: 운영진 월간 출석 현황을 MemberPointHistory 기반으로 통일 #87
minzix Nov 5, 2025
04cb5ad
fix: JPQL에서 날짜·시간을 별도 컬럼으로 조회해 LocalDateTime으로 합성하도록 변경하여 ConversionF…
minzix Nov 5, 2025
9a5da1e
feat: 운영진 API에서도 MemberPointHistory 기반 월간 포인트 집계 지원을 위한 쿼리 추가 #87
minzix Nov 5, 2025
cff2c5f
chore: AuthController에서 불필요한 의존성 제거
minzix Nov 5, 2025
be0c4bb
feat: 사용자 권한 수정 dto 추가 #88
minzix Nov 5, 2025
354d514
feat: 사용자 에러 코드 추가 #88
minzix Nov 5, 2025
fdc1bbe
feat: 권한별 분기처리 없이 QA용으로 권한 수정 로직 추가 #88
minzix Nov 5, 2025
9a6cb49
feat: 사용자 권한 수정 API 추가 #88
minzix Nov 5, 2025
de76034
chore: AbsenceApprovedType 상수 별 설명 추가 #81
minzix Nov 5, 2025
a326cf1
Merge pull request #90 from Kusitms32th-KuCheck/refactor/#81-points
minzix Nov 5, 2025
a3f733f
Merge pull request #86 from Kusitms32th-KuCheck/feat/#84-kupickAlarm
kimyeoungrok Nov 5, 2025
96f9249
fix : projection매핑 오류 해결 #93
kimyeoungrok Nov 6, 2025
123e980
Merge pull request #94 from Kusitms32th-KuCheck/fix/#93-absenceReport…
kimyeoungrok Nov 6, 2025
ff7e097
refactor : 세션 조회 dto에 초기생성 시간 및 마지막 수정 시간 데이터 추가 포함 #95
kimyeoungrok Nov 6, 2025
70f3399
Merge pull request #97 from Kusitms32th-KuCheck/refactor/#95-sessionU…
kimyeoungrok Nov 6, 2025
4f86b3d
fix: profile image 전달 방식 수정 #96
minzix Nov 6, 2025
76789dc
Merge pull request #98 from Kusitms32th-KuCheck/fix/#96-profileImgUrl
minzix Nov 6, 2025
36691c4
refactor : 세션 불러오기에서 공휴일 세션 여부 추가 반환 #99
kimyeoungrok Nov 6, 2025
ab37755
feat : 초기 세션 수정 기능 구현 #99
kimyeoungrok Nov 6, 2025
717c2f1
refactor : 세션 상세조회에서 생성시각, 수정시각도 같이 주기 #99
kimyeoungrok Nov 6, 2025
82a6420
refactor : 세션 상세조회에서 세션 ID 같이주기 #99
kimyeoungrok Nov 6, 2025
df563dd
refactor : fetch Join을 통해 쿼리 최적화 #99
kimyeoungrok Nov 6, 2025
f2a4eab
Merge pull request #100 from Kusitms32th-KuCheck/refactor/#99-session
kimyeoungrok Nov 6, 2025
3be66dc
fix : 출석체크 projection 수정(alias매핑이 안 되어서 맞춤) #101
kimyeoungrok Nov 6, 2025
b31fe05
Merge pull request #102 from Kusitms32th-KuCheck/fix/#101-attendanceS…
kimyeoungrok Nov 6, 2025
29d96bf
fix: 프로필 URL과 나머지 온보딩 정보 업데이트 로직 분리 #103
minzix Nov 7, 2025
4fcd307
fix: 온보딩 request dto에서 프로필이미지URL 제거 #103
minzix Nov 7, 2025
a53b1ff
fix: 수정사항 service에 적용 #103
minzix Nov 7, 2025
e3abe68
Merge pull request #104 from Kusitms32th-KuCheck/fix/#103-onboardingR…
kimyeoungrok Nov 7, 2025
62cd2e9
refactor : application_url이 null값일 때 null그대로 반환하도록 구현 #92
kimyeoungrok Nov 8, 2025
b8eff64
Merge pull request #105 from Kusitms32th-KuCheck/refactor/#92-kupickM…
kimyeoungrok Nov 8, 2025
b868346
refactor : 불참사유서 컨트롤러 권한 별로 분기(패키지 이동) #85
kimyeoungrok Nov 8, 2025
fc29208
refactor : member역방향 매핑(관리자용 불참사유서 조회 기능 시에 memberProfile까지 join으로 가져…
kimyeoungrok Nov 8, 2025
a049242
feat : 관리자용 불참사유서 조회 기능 구현 #85
kimyeoungrok Nov 8, 2025
c066e41
Merge pull request #106 from Kusitms32th-KuCheck/feat/#85-GetabsenceR…
kimyeoungrok Nov 8, 2025
c4aab97
refactor: request 값에 YearMonth 값 추가 #89
minzix Nov 11, 2025
fd6c52f
refactor: kupick 기존 레코드 조회 및 생성은 request의 YearMonth로 수정하며, MemberPoin…
minzix Nov 11, 2025
c941b6a
refactor: YearMonth request도 추가해서 입력받도록 수정 #89
minzix Nov 11, 2025
8c768a5
feat: 출석 상태 수정용 request, response dto 추가 #109
minzix Nov 11, 2025
e5d91d1
feat: 출석 에러 코드 enum 추가 #109
minzix Nov 11, 2025
4d611a8
feat: 출석 수정 시 MemberPointHistory에 레코드를 삽입할 때 사용할 함수 ofAttendanceUpdat…
minzix Nov 11, 2025
2f182a4
feat: 출석 기록 수정 요청 시 Attendance 테이블의 기록 수정 및 MemberPointHistory에 수정기록 …
minzix Nov 11, 2025
b116d97
feat: 월별 출석 상태 수정 API 추가 #109
minzix Nov 11, 2025
ab39626
refactor : 불참사유서 승인 사유에 점수 추가 #108
kimyeoungrok Nov 11, 2025
9081c81
feat : 불참사유서 알림 메시지 템플릿 정의 #108
kimyeoungrok Nov 11, 2025
829f064
feat : 벌점 내역 업데이트 구문 추가 #108
kimyeoungrok Nov 11, 2025
7531d01
feat : 불참사유서 평가 컨트롤러 추가 #108
kimyeoungrok Nov 11, 2025
5dc75b3
chore : 불참사유서 에러 코드 추가 #108
kimyeoungrok Nov 11, 2025
8b0f825
chore : fcm 로깅 추가 #108
kimyeoungrok Nov 11, 2025
87a3b18
refactor : 지난 세션 수정 시도 시 에러 반환 #112
kimyeoungrok Nov 11, 2025
dfefc29
Merge pull request #110 from Kusitms32th-KuCheck/refactor/#89-kupickEdit
minzix Nov 12, 2025
55b0520
Merge pull request #111 from Kusitms32th-KuCheck/feat/#109-attendance…
minzix Nov 12, 2025
ac2ea70
Merge pull request #113 from Kusitms32th-KuCheck/feat/#108-updateAbse…
minzix Nov 12, 2025
4f0743d
Merge pull request #114 from Kusitms32th-KuCheck/refactor/#112-oldSes…
minzix Nov 12, 2025
fba3d94
feat: Notice, NoticeCategory, NoticeImage 엔티티 추가 #115
minzix Nov 12, 2025
3bb6846
feat: notice 예외처리 에러코드 추가 #115
minzix Nov 12, 2025
201b3f0
feat: 공지 카테고리 관련 요청용 dto 추가 #115
minzix Nov 12, 2025
fa71e41
feat: 공지 종류, 카테고리 색상 상수 추가 #115
minzix Nov 12, 2025
02d585a
feat: 카테고리 중복 및 공지 연관 여부 조회 등을 구현하는 repository 코드들 추가 #115
minzix Nov 12, 2025
d97ed4e
feat: NoticeCategoryService에 카테고리 생성·수정·삭제·조회·색상조회 로직 및 예외처리 추가 #115
minzix Nov 12, 2025
103d194
feat: 공지 카테고리 API 추가 #115
minzix Nov 12, 2025
7440185
feat: 공지 카테고리 엔드포인트들에 STAFF 권한 설정 #115
minzix Nov 12, 2025
1db47b5
refactor : webp추가 허용 #118
kimyeoungrok Nov 12, 2025
8a21657
Merge pull request #119 from Kusitms32th-KuCheck/refactor/#118-allowWebp
kimyeoungrok Nov 12, 2025
fc8f8e6
fix: 매핑테이블명 ERD 기준으로 수정 #115
minzix Nov 12, 2025
bc102af
refactor: 카테고리 이름 글자수 검증 중복 로직 제거 #115
minzix Nov 12, 2025
ec9c2db
Merge pull request #116 from Kusitms32th-KuCheck/feat/#115-noticeCate…
kimyeoungrok Nov 13, 2025
ea7a6f4
fix: allowedMethods에 PATCH 추가 #120
minzix Nov 13, 2025
c401e2b
Merge pull request #121 from Kusitms32th-KuCheck/fix/#120-patchCors
minzix Nov 13, 2025
54406d8
refactor : 큐픽 승인여부 미정 케이스 추가 #123
kimyeoungrok Nov 13, 2025
c5870c6
Merge pull request #124 from Kusitms32th-KuCheck/refactor/#123-kupick…
kimyeoungrok Nov 13, 2025
18d5531
feat: 공지 첨부 파일 저장용 테이블 추가 #117
minzix Nov 14, 2025
8ad9f5f
feat: 첨부파일을 공지에 추가하거나 제거하는 로직 작성 #117
minzix Nov 14, 2025
5f4d0b3
feat: 공지 에러코드 상수 추가 #117
minzix Nov 14, 2025
adaf6a5
chore: 불필요한 파일 삭제 #117
minzix Nov 14, 2025
0bca397
feat: 공지사항 관련 request, response용 dto 추가 #117
minzix Nov 14, 2025
9b965db
feat: dto mapper 추가 #117
minzix Nov 14, 2025
2a5edf3
feat: S3 폴더명 상수에 NOTICE 추가 #117
minzix Nov 14, 2025
145fb1f
fix: 공지목록 조회 방식 수정 #117
minzix Nov 14, 2025
e32dfb1
feat: 첨부파일 repository 코드 추가 #117
minzix Nov 14, 2025
0f14b27
feat: 공지사항 service 코드 추가 #117
minzix Nov 14, 2025
64185a6
feat: 공지사항 관련 controller 코드 추가 #117
minzix Nov 14, 2025
27e17d3
feat: 공지 리스트 조회 방식 페이징으로 수정 #117
minzix Nov 14, 2025
be695ee
feat: 공지 리스트 카테고리별 조회 구현 #117
minzix Nov 14, 2025
9943631
feat: 회원 관리 dto 추가 #126
minzix Nov 15, 2025
4a97c54
feat: memberId 전달 방식을 body에서 param으로 수정 #126
minzix Nov 15, 2025
a1cb064
feat: approval 상태 별 사용자 수 계산 추가 #126
minzix Nov 15, 2025
d1f8885
feat: 승인 상태 별 사용자 리스트 조회 추가 #126
minzix Nov 15, 2025
b891544
feat: memberId 전달방식 수정 적용 #126
minzix Nov 15, 2025
f8e5af7
feat: 사용자 정보 수정, 승인여부 상태에 따른 사용자 리스트 반환 로직 추가 #126
minzix Nov 15, 2025
39f9a1e
feat: 학회원 관리 API 추가 #126
minzix Nov 15, 2025
62364e5
feat: 학회원 관리 권한 분기처리 추가 #126
minzix Nov 15, 2025
45629ae
refactor: dto swagger description 추가 #117
minzix Nov 15, 2025
2bf3b68
refactor: 함수명 수정 #117
minzix Nov 15, 2025
c615c78
Merge pull request #125 from Kusitms32th-KuCheck/feat/#117-notice
minzix Nov 15, 2025
98bb486
feat: dto swagger description 추가 #126
minzix Nov 15, 2025
062024f
refactor: 함수명 수정 #126
minzix Nov 15, 2025
fe62c18
feat: 안 쓰는 함수 삭제 #126
minzix Nov 15, 2025
fc04dc0
refactor: 사용중이지 않은 함수 삭제 #126
minzix Nov 15, 2025
86ff571
Merge pull request #127 from Kusitms32th-KuCheck/feat/#126-userManage
minzix Nov 15, 2025
fe983fd
feat: 제목 or 내용에서 키워드로 검색하는 로직 추가 #128
minzix Nov 15, 2025
089e3a4
feat: 검색 함수 추가 #128
minzix Nov 15, 2025
3f95ad3
feat: 검색 API 추가 #128
minzix Nov 15, 2025
7ab61f0
feat: 엔드포인트 권한 분기 설정 #128
minzix Nov 15, 2025
7124a23
Merge pull request #129 from Kusitms32th-KuCheck/feat/#128-noticeSearch
minzix Nov 15, 2025
d39d49e
feat: 시작일자로 세션 조회하는 로직 추가 #131
minzix Nov 17, 2025
924b434
feat: 출석 기록을 Attendance 테이블에서 계산해오도록 수정 #131
minzix Nov 17, 2025
d0cb0f4
feat: 8월부터 12월까지의 월 범위 검증을 컨트롤러에서 하도록 수정 #131
minzix Nov 17, 2025
fcaf0f0
refactor: 공지사항 권한 분기 수정 #117
minzix Nov 17, 2025
4657e8f
Merge pull request #132 from Kusitms32th-KuCheck/fix/#131-AttendanceM…
minzix Nov 17, 2025
8176df9
feat: 운영진 권한 변경 요청 dto들 추가 #135
minzix Nov 19, 2025
8d75a29
feat: 회원/프로필 조회용 isStaff 및 승인 상태 관련 레포지토리 메서드 추가 #135
minzix Nov 19, 2025
c99df58
feat: 회원 승인/요청 조회 API에 페이징 추가 #135
minzix Nov 19, 2025
1a3fc9b
feat: 운영진 isStaff 여부 수정 및 운영진 ROLE 수정 로직 추가 #135
minzix Nov 19, 2025
3e4cb6b
feat: 운영진 권한관리 API 추가 및 member 도메인의 API 권한분기 수정 #135
minzix Nov 19, 2025
9315312
feat: member 도메인의 API 권한분기 수정사항 적용 #135
minzix Nov 19, 2025
e1be232
chore: enum swagger 스키마 example 수정 #135
minzix Nov 19, 2025
6ca59fe
fix: 단건 수정에서 PathVariable로 받던 memberId를 body로 받기 위해 dto에 추가 #135
minzix Nov 19, 2025
da7da81
fix: 단건 사용자 승인여부 변경 로직에서 다건으로 수정 #135
minzix Nov 19, 2025
296ac40
feat: controller에서 변경사항 적용 #135
minzix Nov 19, 2025
f1aabc6
Merge pull request #137 from Kusitms32th-KuCheck/feat/#135-staffRole
minzix Nov 19, 2025
76dc9c8
fix: 공지사항 단건 조회 날짜 formatting 오탈자 수정 #117
minzix Nov 19, 2025
12cd958
Merge pull request #138 from Kusitms32th-KuCheck/feat/#135-staffRole
minzix Nov 19, 2025
1d63c0b
refactor: 기획 요구에 맞춰서 공지 카테고리 색상 종류 수정 #139
minzix Nov 19, 2025
2bb753e
refactor: enum값과 색상명 매핑 문서화 추가 #139
minzix Nov 19, 2025
796204e
Merge pull request #140 from Kusitms32th-KuCheck/refactor/#139-notice…
minzix Nov 19, 2025
d9f83a5
feat: 프론트에서 파일 업로드와 동시에 파일 크기를 함께 받아와 저장하기 위해 엔티티에 attachmentSize 추가 …
minzix Nov 19, 2025
be162b2
feat: 공지 조회 시 파일 별 크기를 함께 반환하기 위해 dto에 size 추가 #141
minzix Nov 19, 2025
eec623e
feat: dto와 entity의 수정사항 반영 #141
minzix Nov 19, 2025
f716280
feat: 파일 업로드를 위한 presignedURL 발급 시 RequestParam으로 fileSize도 추가하기 #141
minzix Nov 19, 2025
65fb07d
Merge pull request #142 from Kusitms32th-KuCheck/refactor/#141-notice…
minzix Nov 19, 2025
47c9363
bug : fcm.json파일 삭제
kimyeoungrok Nov 19, 2025
3d05576
fix : cicd오타 구문 수정
kimyeoungrok Nov 19, 2025
eddb0f9
Update deploy.yml
kimyeoungrok Nov 19, 2025
2f0c195
feat: 알림 종류를 나타내는 enum 추가 #147
minzix Nov 19, 2025
ce8682f
feat: 사용자별 알림기록을 저장하기 위한 엔티티 추가 #147
minzix Nov 19, 2025
9dfd388
feat: 사용자별 알림기록 조회용 dto 추가 #147
minzix Nov 19, 2025
b44377a
feat: 사용자별 알림기록 조회 로직 추가 #147
minzix Nov 19, 2025
4f5d6fb
feat: 사용자별 알림 조회 서비스 추가 #147
minzix Nov 19, 2025
f456024
feat: 사용자별 알림 조회 API 추가 #147
minzix Nov 19, 2025
7b41f0b
refactor: 알람 종류를 object에서 enum으로 변경 #147
minzix Nov 19, 2025
d6d5e14
Merge pull request #148 from Kusitms32th-KuCheck/feat/#147-memberAlar…
kimyeoungrok Nov 19, 2025
21bfc25
chore : 필요없는 테스트 코드 삭제 #149
kimyeoungrok Nov 19, 2025
0b502ae
feat : 알림 타입 재정의 #149
kimyeoungrok Nov 19, 2025
ff7e675
refactor : 알림 내역에서 알림 이모지 타입 저장하게 변경 #149
kimyeoungrok Nov 19, 2025
d51c960
refactor : 알림 전송 시 알림 내역에 저장되게 구현 #149
kimyeoungrok Nov 19, 2025
b040367
feat: 페이징 응답 반환 시 전체 요소의 개수 필드 추가 #151
minzix Nov 20, 2025
055c5bc
refactor: 서비스에서 PageResponse를 Page.map()으로 DTO 변환 후 .from()로 반환하도록 통일…
minzix Nov 20, 2025
d8db6b8
Merge pull request #150 from Kusitms32th-KuCheck/feat/#149-fcmAlarmSave
minzix Nov 20, 2025
9e15bab
Merge pull request #152 from Kusitms32th-KuCheck/refactor/#151-notice…
kimyeoungrok Nov 20, 2025
f565dd6
refactor : S3경로에서 원본 파일명 추출 로직 추가 #153
kimyeoungrok Nov 20, 2025
1b610ac
refactor : 공지사항 조회에서 원본 파일명 보이게 수정 #153
kimyeoungrok Nov 20, 2025
f48f4dc
refactor : 관리자용 세션 조회에서 원본 파일명 보이게 수정 #153
kimyeoungrok Nov 20, 2025
407ad1f
Merge pull request #154 from Kusitms32th-KuCheck/refactor/#153-addOri…
minzix Nov 20, 2025
81fa1f6
feat: 세션시간 수정 응답 dto 추가 #155
minzix Nov 21, 2025
ec09fc2
feat: 세션 시간, finalize 여부 수정 로직 추가 #155
minzix Nov 21, 2025
c912f9a
feat: 세션 시간 수정 API 추가 #155
minzix Nov 21, 2025
e81881f
Merge pull request #156 from Kusitms32th-KuCheck/feat/#155-sessionTim…
kimyeoungrok Nov 21, 2025
d741895
feat: email 필드 추가 및 스웨거 문서화 추가 #157
minzix Nov 21, 2025
e81d579
feat: dto 수정에 따라 email 값 추가 #157
minzix Nov 21, 2025
0f13d5d
refactor: 스웨거 설명 수정 #157
minzix Nov 21, 2025
e14cf21
Merge pull request #158 from Kusitms32th-KuCheck/refactor/#157-profil…
minzix Nov 21, 2025
3a9f140
chore: 전시회용 temp 엔드포인트 시큐리티 permitAll로 수정
minzix Nov 22, 2025
299fcbe
Merge pull request #159 from Kusitms32th-KuCheck/refactor/#157-profil…
minzix Nov 22, 2025
cdfcda3
test : absence 서비스 로직 단위 테스트 #31
kimyeoungrok Nov 23, 2025
43e3f9d
build : test 의존성 추가 #31
kimyeoungrok Nov 23, 2025
84d0a37
test : 출석 관련 서비스 로직 테스트 #31
kimyeoungrok Nov 23, 2025
a8bd7f1
refactor : 안 쓰는 서비스 클래스 제거 #31
kimyeoungrok Nov 23, 2025
9eec308
test : 세션 서비스 테스트 #31
kimyeoungrok Nov 24, 2025
39d9520
test : 점수 관련 서비스 로직 테스트 #31
kimyeoungrok Nov 24, 2025
c89165b
test : 큐픽 관련 서비스 로직 테스트 #31
kimyeoungrok Nov 24, 2025
8da516a
test : 멤버 서비스 관련 테스트 #31
kimyeoungrok Nov 24, 2025
d46672d
chore : 필요없는 구문 삭제 #31
kimyeoungrok Nov 24, 2025
8b9dd41
fix : [리뷰반영] 테스트 이름이랑 테스트 로직 맞추기 #31
kimyeoungrok Nov 25, 2025
0c9e917
chore : [리뷰반영] 오탈자 수정 #31
kimyeoungrok Nov 25, 2025
9058afe
chore : [리뷰반영] 테스트 후에 mock객체 해제 #31
kimyeoungrok Nov 25, 2025
88fd417
chore : [리뷰반영] 사용하지 않는 구문 제거 #31
kimyeoungrok Nov 25, 2025
fdd78cc
Merge pull request #160 from Kusitms32th-KuCheck/test/#31-addTestCode
minzix Nov 25, 2025
f0448aa
refactor : 불참사유서 증빙서류 선택사항으로 수정 #161
kimyeoungrok Nov 26, 2025
df5adad
Merge pull request #162 from Kusitms32th-KuCheck/refactor/#161-beAbse…
kimyeoungrok Nov 26, 2025
810e2eb
feat : 테스트용 api 삭제 #163
kimyeoungrok Nov 26, 2025
d7f0174
fix : 조회시 heic확장자도 허용 #165
kimyeoungrok Nov 27, 2025
90589dd
Merge pull request #166 from Kusitms32th-KuCheck/fix/#165-fileExtension
kimyeoungrok Nov 27, 2025
b1f7e41
Merge branch 'dev' into setting/#163-prod1
kimyeoungrok Nov 27, 2025
cf884b0
chore: README 파일 작성 및 추가 #167
minzix Dec 4, 2025
eafbb2e
Merge pull request #168 from Kusitms32th-KuCheck/setting/#167-readme
minzix Dec 4, 2025
3fe0bd8
chore: README 첨부 이미지 업로드 #167
minzix Dec 4, 2025
2c7c0bf
Merge pull request #164 from Kusitms32th-KuCheck/setting/#163-prod1
kimyeoungrok Dec 4, 2025
920500b
Merge pull request #169 from Kusitms32th-KuCheck/dev
kimyeoungrok Dec 4, 2025
1aa14cb
fix : prod 레디스 비밀번호 안 들어가는 현상 수정
kimyeoungrok Dec 4, 2025
d012e7d
feat : aes앙호화 서비스 로직 작성 #170
kimyeoungrok Dec 18, 2025
12e5188
feat : jpa컨버터 로직 작성 #170
kimyeoungrok Dec 18, 2025
a6ac406
feat : aes암복호화 적용 #170
kimyeoungrok Dec 18, 2025
9c2e4d0
refactor : 암복호화 에러처리 로직 추가 #170
kimyeoungrok Dec 18, 2025
a1d7f27
test : 암복호화 에러 관련 테스트 코드 추가 #170
kimyeoungrok Dec 18, 2025
015e901
refactor : IV에 TAG 길이를 더하여 같이 고려해서 검증 #170
kimyeoungrok Dec 28, 2025
21b30c4
refactor : 검증 시 공백 케이스도 고려 #170
kimyeoungrok Dec 28, 2025
7d9776c
build : secret manager 의존성 파일 추가 #25
kimyeoungrok Dec 28, 2025
654fee4
feat: apple auth 의존성 추가 및 시큐리티 허용 url 추가 #172
minzix Dec 29, 2025
d50db95
feat: 애플 환경변수 configuration 추가 #172
minzix Dec 29, 2025
99d853d
feat: auth 에러코드 항목 추가 #172
minzix Dec 30, 2025
8eb0dc1
feat: member.socialId 타입 변경 #172
minzix Dec 30, 2025
a53b3e6
feat: upsertSocialMember 시 email 조회 이전에 socialId 로 먼저 조회하도록 수정 #172
minzix Dec 30, 2025
5d88caa
feat: 인가 코드로 토큰 교환, 클라이언트 시크릿 생성, ID 토큰 검증 및 파싱 서비스 추가 #172
minzix Dec 30, 2025
b50447e
feat: 애플로그인 서비스 로직 (토큰 교환, ID 토큰 검증, 소셜 회원 upsert) 추가 #172
minzix Dec 30, 2025
f463dec
feat: 애플로그인 엔드포인트 추가 #172
minzix Dec 30, 2025
aaf79ea
Merge pull request #173 from Kusitms32th-KuCheck/setting/#25-secretMa…
kimyeoungrok Dec 30, 2025
49de904
chore: dev 브랜치와의 충돌 해결
minzix Dec 30, 2025
f9ba785
Merge pull request #174 from Kusitms32th-KuCheck/feat/#172-appleLogin
kimyeoungrok Jan 1, 2026
b30f206
test : SocialType이 Long -> String으로 바뀜에 따라 테스트 코드 수정 #175
kimyeoungrok Jan 1, 2026
2df8132
Merge pull request #176 from Kusitms32th-KuCheck/hotfix/#175-testCodeBug
kimyeoungrok Jan 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/♻️-refactor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: "♻️ Refactor"
about: 리팩토링
title: "♻️"
labels: ''
assignees: ''

---

### 📌 Description


---

### ✅ Task
- [ ] Task 1
- [ ] Task 2
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/⚙️-setting.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: "⚙️ Setting"
about: 배포, 인프라 등 설정 관련
title: "⚙️"
labels: ''
assignees: ''

---

### 📌 Description


---

### ✅ Task
- [ ] Task 1
- [ ] Task 2
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/✅-test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: "✅ Test"
about: 테스트 추가
title: "✅"
labels: ''
assignees: ''

---

### 📌 Description


---

### ✅ Task
- [ ] Task 1
- [ ] Task 2
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/✨-feature.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: "✨ Feature"
about: 새로운 기능 추가
title: "✨"
labels: ''
assignees: ''

---

### 📌 Description


---

### ✅ Task
- [ ] Task 1
- [ ] Task 2
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/🐛-fix.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: "\U0001F41B Fix"
about: 버그 수정
title: "\U0001F41B"
labels: ''
assignees: ''

---

### 📌 Description


---

### ✅ Task
- [ ] Task 1
- [ ] Task 2
12 changes: 12 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
### ✨ Related Issue

---

### 📌 Task Details
- Task 1
- Task 2

---

### 💬 Review Requirements (Optional)

195 changes: 195 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
on:
push:
branches: [ "main", "dev" ]
workflow_dispatch:

jobs:
build-and-push:
runs-on: ubuntu-latest
outputs:
tag: ${{ steps.vars.outputs.tag }}
steps:
- uses: actions/checkout@v4

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

- name: Gradle 캐시
uses: actions/cache@v3
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }}
restore-keys: |
${{ runner.os }}-gradle

deploy-dev:
if: github.ref == 'refs/heads/dev'
needs: build-and-push
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Checkout source code
uses: actions/checkout@v4

- name: Set up SSH key
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.DEV_EC2_SSH_KEY }}

- name: YML 파일 세팅
env:
APPLICATION_PROPERTIES: ${{ secrets.ONKU_APP_DEV_YML }}
TEST_APPLICATION_PROPERTIES: ${{ secrets.ONKU_APP_TEST_YML }}
FCM_JSON: ${{ secrets.ONKU_FCM_JSON }}

run: |
cd ./src
rm -rf main/resources/application.yml
mkdir -p main/resources
mkdir -p test/resources
mkdir -p main/resources/firebase
echo "$APPLICATION_PROPERTIES" > main/resources/application.yml
echo "$TEST_APPLICATION_PROPERTIES" > test/resources/application.yml
echo "$FCM_JSON" > main/resources/firebase/fcm.json

- name: gradlew 권한 부여
run: chmod +x gradlew

- name: 테스트 수행
run: ./gradlew test

- name: 테스트 리포트 아티팩트 업로드
if: failure()
uses: actions/upload-artifact@v4
with:
name: test-report
path: build/reports/tests/test

- name: 스프링부트 빌드
run: ./gradlew build

- name: Docker Buildx 세팅
uses: docker/setup-buildx-action@v3

- name: docker login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: 도커 이미지 빌드 후 푸시
if: success()
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/backend:${{ github.sha }}
platforms: linux/amd64,linux/arm64

- name: Docker Compose 파일 NCP 서버로 전송
run: scp -o StrictHostKeyChecking=no -P ${{ secrets.DEV_EC2_PORT }} docker-compose.yml ${{ secrets.DEV_EC2_USER }}@${{ secrets.DEV_EC2_HOST }}:./

- name: EC2 접속 후 이미지 다운로드 및 배포
if: success()
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.DEV_EC2_HOST }}
username: ${{ secrets.DEV_EC2_USER }}
key: ${{ secrets.DEV_EC2_SSH_KEY }}
port: ${{ secrets.DEV_EC2_PORT }}
script: |
export DOCKER_CONTAINER_REGISTRY=${{ secrets.DOCKERHUB_USERNAME }}
export REDIS_PASSWORD=${{ secrets.DEV_REDIS_PASSWORD }}
export GITHUB_SHA=${{ github.sha }}
sudo chmod +x ./deploy.sh
./deploy.sh
deploy-prod:
if: github.ref == 'refs/heads/main'
needs: build-and-push
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Checkout source code
uses: actions/checkout@v4

- name: Set up SSH key
uses: webfactory/[email protected]
with:
ssh-private-key: ${{ secrets.PROD_EC2_SSH_KEY }}

- name: YML 파일 세팅
env:
APPLICATION_PROPERTIES: ${{ secrets.ONKU_APP_PROD_YML }}
TEST_APPLICATION_PROPERTIES: ${{ secrets.ONKU_APP_TEST_YML }}
FCM_JSON: ${{ secrets.ONKU_FCM_JSON }}

run: |
cd ./src
rm -rf main/resources/application.yml
mkdir -p main/resources
mkdir -p test/resources
mkdir -p main/resources/firebase
echo "$APPLICATION_PROPERTIES" > main/resources/application.yml
echo "$TEST_APPLICATION_PROPERTIES" > test/resources/application.yml
echo "$FCM_JSON" > main/resources/firebase/fcm.json

- name: gradlew 권한 부여
run: chmod +x gradlew

- name: 테스트 수행
run: ./gradlew test

- name: 테스트 리포트 아티팩트 업로드
if: failure()
uses: actions/upload-artifact@v4
with:
name: test-report
path: build/reports/tests/test

- name: 스프링부트 빌드
run: ./gradlew build

- name: Docker Buildx 세팅
uses: docker/setup-buildx-action@v3

- name: docker login
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}

- name: 도커 이미지 빌드 후 푸시
if: success()
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKERHUB_USERNAME }}/backend:${{ github.sha }}
platforms: linux/amd64,linux/arm64

- name: Docker Compose 파일 NCP 서버로 전송
run: scp -o StrictHostKeyChecking=no -P ${{ secrets.PROD_EC2_PORT }} docker-compose.yml ${{ secrets.PROD_EC2_USER }}@${{ secrets.PROD_EC2_HOST }}:./

- name: EC2 접속 후 이미지 다운로드 및 배포
if: success()
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.PROD_EC2_HOST }}
username: ${{ secrets.PROD_EC2_USER }}
key: ${{ secrets.PROD_EC2_SSH_KEY }}
port: ${{ secrets.PROD_EC2_PORT }}
script: |
export DOCKER_CONTAINER_REGISTRY=${{ secrets.DOCKERHUB_USERNAME }}
export REDIS_PASSWORD='${{ secrets.PROD_REDIS_PASSWORD }}'
export GITHUB_SHA=${{ github.sha }}
sudo chmod +x ./deploy.sh
./deploy.sh
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,6 @@ out/
.kotlin

### YAML ###
application.yml
application.yml
#src/main/resources/*
src/main/resources/firebase/*
6 changes: 6 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM openjdk:17.0.1-jdk-slim
WORKDIR /app
COPY ./build/libs/backend-0.0.1-SNAPSHOT.jar /app/backend.jar
EXPOSE 8080
ENTRYPOINT ["java"]
CMD ["-jar", "backend.jar"]
49 changes: 49 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# 큐-첵 (Ku-check): 큐시즘의 모든 일을 한큐에 체크하다, 큐첵
> 🔗 **서비스 링크**: [`https://ku-check.vercel.app`](https://ku-check.vercel.app)
<img width="7680" height="4320" alt="큐첵 소개" src="https://github.com/user-attachments/assets/e6375d54-366a-429d-a771-dfd6ef557d3d" />

## 🎨 서비스 설명
- 큐첵은 큐시즘 운영에 흩어져 있던 출결, 상벌점, 공지, 불참사유서 제출을 하나로 통합해 학회 운영을 더 정확하고 간편하게 만드는 전용 관리 서비스입니다.
- 운영진은 반복적인 수기 행정을 줄일 수 있고, 학회원은 내 활동 현황과 이번 주 핵심 정보를 한 곳에서 확인하며 불참사유서까지 앱에서 바로 제출할 수 있습니다.

## 💻 Backend Members
| **김영록** | **김민지** |
|:-------------------------------------------------------------------------------------------------------------------:|:----------------------------------------------------------------------------------------------------------------:|
| <a href="https://github.com/kimyeoungrok"><img src="https://avatars.githubusercontent.com/u/127182406?v=4" width="150"> | <a href="https://github.com/minzix"><img src="https://avatars.githubusercontent.com/u/126869805?v=4" width="150"> |
| `backend` | `backend` |

## 📜 API 명세서
[큐첵 개발 서버 API 명세서](https://dev.ku-check.o-r.kr/swagger-ui/index.html)

## 🗃️ ERD
<img width="2110" height="1272" alt="Ku-Check (1) (1)" src="https://github.com/user-attachments/assets/85afd83a-16c8-4c63-943b-98eaff150a29" />

## 🛠️ 기술 스택
| 기술 스택 | 사용 이유 |
|----------|-----------|
| **Spring Kotlin** | Kotlin은 간결하고 읽기 쉬운 문법을 제공하여 개발 생산성이 높아진다고 판단해 사용했습니다.<br>Java 기반 기술 스택과 완벽히 호환되어 러닝커브가 적다고 생각했습니다.<br>Null-safety 덕분에 런타임 오류(NPE)를 줄일 수 있어 선택했습니다. |
| **Spring Data JPA** | SQL을 직접 작성하지 않고 객체지향적인 방식으로 DB를 다루기 위해 JPA를 사용하였으며, Spring 환경에서 이를 쉽게 활용할 수 있도록 지원하는 Spring Data JPA를 선택했습니다. |
| **AWS EC2** | 서비스 배포 서버로 사용했습니다. |
| **AWS S3** | 큐픽 증빙사진, 불참증명서 파일 등을 저장하기 위한 파일 저장소로 사용했습니다. |
| **AWS RDS** | 타 클라우드 대비 저렴하고, VPC·보안 그룹과 통합되어 안전한 접근 제어가 가능하여 사용했습니다. |
| **Docker** | 개발 및 배포 환경을 컨테이너화하여 일관된 환경을 유지하기 위해 사용했습니다. |
| **GitHub Actions** | GitHub 기반으로 CI 환경을 일원화하여 자동화된 빌드 및 테스트 환경을 구축하기 위해 사용했습니다. |
| **MySQL 8.x** | MySQL 5 대비 향상된 성능, 강화된 보안 기능, 공간 데이터 처리 기능을 제공하여 사용했습니다. |
| **Redis** | TTL을 제공해 토큰과 같은 세션 정보를 유효시간 기반으로 관리할 수 있습니다.<br>메모리 기반 저장소로 DB 대비 빠른 속도를 제공하여 로그인 등 세션 관리에 적합합니다. |
| **JUnit** | JUnit Jupiter/Platform/Vintage 등 모듈형 구성 덕분에 유연하고 확장 가능한 테스트 환경을 제공하여 사용했습니다. |
| **AssertJ** | 외부 의존성을 모킹해 특정 단위만 독립적으로 테스트할 수 있습니다.<br>호출 검증, 다양한 입력 조건 설정 등 정교한 테스트 시나리오 구현이 가능하여 선택했습니다. |
| **Swagger** | 클라이언트–서버 간 API 명세서로 활용하기 위해 사용했습니다. |


## 💬 Commit Convention
> e.g. feat: 카카오 로그인 구현 #1

| Type | 내용 |
|------------| --------------------------------- |
| `feat` | 새로운 기능 추가 |
| `fix` | 버그 수정 |
| `hotfix` | 서비스 장애 등 긴급 이슈 수정 |
| `test` | 테스트 코드 추가 및 수정, 삭제 |
| `refactor` | 코드 리팩토링 |
| `deploy` | 배포 관련 작업 (CI/CD, 서버 설정, 배포 스크립트 등) |
| `setting` | 개발 환경 세팅|
Loading