[Feat] 관리자 페이지 개편 (디자인, 로그인 유지, 데이터 조회, 통계) - #342
Merged
Merged
Conversation
- 로그인 성공 시 세션 유휴 만료를 24시간으로 늘린다 (설정이 없어 톰캣 기본값 30분이 적용되고 있었다) - 로그인 유지 쿠키를 붙여 배포로 컨테이너가 바뀌어도 24시간 동안 다시 로그인하지 않는다 - logoutUrl 에 전체 URL 이 들어가 어떤 요청과도 맞지 않던 설정을 경로로 고친다 - 로그인이 풀린 채 관리자 화면을 열면 JSON 401 대신 로그인 화면으로 보낸다 - 관리자 화면의 유저 삭제 엔드포인트를 없앤다
- 온보딩 페이지의 브랜드 초록(#1cba1a)과 회색 바탕 위 흰 카드 구성으로 공통 스타일을 만든다 - 사이드바, 페이지 이동, 탭 밑줄, 숫자 카운트업, 화면 전환 효과를 공통 조각과 스크립트로 둔다 - 페이지 링크가 지금 걸린 필터를 유지하도록 AdminPager 를 추가한다 - 공지는 실사용자 전원에게 뜨므로 걸기 전과 내리기 전에 한 번 더 확인받는다
- 유저 목록에 검색과 가입 경로 필터, 정렬 7종을 넣고 상세를 치장, 업적, 미션, 스터디룸까지 탭 7개로 나눈다 - 복습 기록을 mission_log 대신 problem_solve 기준으로 바꾸고 복습노트 상세 화면을 추가한다 - 오답노트와 복습 기록, 복습노트 목록에 날짜와 유저, 상태 필터를 넣는다 - 스터디룸 상세에 챌린지, 공유 문제와 댓글, 피드, 주간 리포트를 추가한다 - 미션, 업적, 치장 현황 화면을 새로 만든다 - 통계를 사용자, 학습, AI 분석, 성장, 스터디룸으로 나누고 재방문율과 고착도, 직전 기간 비교를 넣는다 - 날짜별 표의 숫자를 누르면 그날 목록으로 이동한다 - 권한 테스트에 새 엔드포인트와 공지 엔드포인트를 넣는다
- 그리드 안 두 번째 카드에만 위 여백이 붙어 나란한 박스 높이가 어긋나던 규칙을 고친다 - 화면이 뜬 뒤 카드를 투명하게 되돌리던 등장 효과와 숫자 카운트업을 없애 이동할 때 깜빡이지 않게 한다 - 탭과 세그먼트를 화면이 그려지기 전에 붙이고, 페이지 전환은 브라우저 기본 교차 전환만 짧게 쓴다 - 로고를 OnO 전체 브랜드색으로 칠한다 - 데스크톱은 사이드바를 접고 펼 수 있고 상태를 기억한다. 모바일은 상단 메뉴로 여닫는 서랍으로 바꾼다 - 미션 달성률을 시작한 유저 대비 달성으로 이름을 바꾸고 계산 기준을 적는다
- 출시 때 섞인 게스트와 스모크 테스트용 게스트가 지표를 부풀려서 모든 집계 쿼리에 같은 조건을 붙인다 - 조건은 AdminSqlFilters 한 곳에 두고 통계, 홈, 유저, 학습 기록, 스터디룸, 성장 집계에 적용한다 - 목록의 행과 상세 화면은 그대로 두고, 게스트 수와 비율 지표는 없앤다 - 게스트가 만든 데이터가 집계에서 빠지는지 영역별 테스트를 추가한다
- 관리자 컨트롤러의 인자 없는 LocalDate.now() 를 Asia/Seoul 기준으로 바꾼다 (PersistenceRulesTest 위반) - 로그인 없이 관리자 화면을 열면 로그인 화면으로 보내는 동작을 AuthApiTest 에 반영하고, 화면이 아닌 요청은 401 인지 따로 확인한다
8 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✔️ 연관 이슈
📝 작업 내용
logoutUrl에 전체 URL 이 들어가 있어 로그아웃이 동작하지 않던 설정을 경로로 고쳤습니다.DELETE /admin/user/{id}를 없앴습니다.admin.css,admin.js,fragments/admin-layout.html)을 만들었습니다. 사이드바는 접을 수 있고 모바일에서는 서랍으로 열립니다.mission_log대신problem_solve기준으로 셉니다. 방문 횟수는 출석 유저 수와 항상 같은 값이라 지웠습니다. 날짜별 숫자를 누르면 그날 목록으로 이동합니다.AdminSqlFilters한 곳에 있습니다.👤 사용자 영향
/admin/**,/login)만 바뀝니다.🔌 API 호환성
🗄️ DB migration
🔐 인증/권한
AdminEndpointAuthorizationTest에 넣어 멤버와 게스트는 403, 비로그인은 차단되는 것을 확인합니다.jwt.accessToken.secret에서 만듭니다. 설정 추가는 없습니다.✅ 검증 결과
🚀 배포 리스크
↩️ 롤백/대응 방법