자습 출석 이력 영구 저장 및 무인증 조회 API 추가 - #214
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces a study attendance history tracking feature, adding a new JPA entity, repository, and a public endpoint to retrieve the last week's attendance list. The reviewer's feedback highlights critical timezone issues where using LocalDate.now() without specifying a timezone (like 'Asia/Seoul') can lead to incorrect date recordings on UTC servers. Additionally, the feedback points out a privacy concern regarding the exposure of students' real names on an unauthenticated public endpoint, suggesting name masking or nickname usage. Other recommendations include adhering to consistent repository naming conventions (using '...Repository' instead of '...JpaRepository') and simplifying the date range generation logic.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
#️⃣연관된 이슈
📝작업 내용
자습실 신청 스트릭 기능을 서드파티(외부 개발자)가 자체 계산할 수 있도록 백엔드 기반을 구현했습니다.
StudyAttendanceHistoryJpaEntity(tb_study_attendance_history)로 일자별 출석 이력을 영구 저장하도록 변경CheckStudyAttendanceServiceImpl: 출석 체크 시 이력 저장 (JPA insert가 추가되어 클래스 트랜잭션을readOnly = true에서 쓰기 가능으로 변경)UncheckStudyAttendanceServiceImpl: 체크인 해제 시 당일 이력 삭제GET /public/study/attendances: 최근 7일간 날짜별 출석자 이름 리스트를 반환하는 무인증 공개 API 추가 (학번/유저ID 등 식별 정보는 제외, 이름만 노출)SecurityConfig에/public/**permitAll 추가스크린샷 (선택)
💬리뷰 요구사항(선택)