ZinnaChoi / Study-Management

온라인 스터디 관리 시스템: 부재 일정 캘린더, 토론 게시판 및 알림 기능 제공
8 stars 0 forks source link

Task home UI reconstruction #95

Closed MeMyself-And-I closed 6 months ago

MeMyself-And-I commented 6 months ago

@ZinnaChoi 안녕하세요 #51 이슈 관련하여 홈화면 재구성 완료 하였습니다. 상세 내용은 하기 참고 부탁드립니다.

  1. 최종 홈 화면 UI

    • 좌측 스터디원 테이블 조건 필터 및 검색 기능, 페이지네이션 추가
    • 우측 스터디 정보(스케줄) 테이블 -> 페이징 x
    • 화면 재구성에 따라 기존 스케줄 별 스터디원, 기상 시간 별 스터디원 조회 API 통합(기존 API는 남겨놓은 상태) image
  2. 메뉴트리 변경에 따른 통계 관련 메뉴 파일들 study 디렉토리 -> statistics 디렉토리로 이동

  3. 로그인 토큰 관련 이슈 답변 Q: npm start로 빌드하면 항상 로컬 스토리지에 토큰이 있던데,,, 배포 환경에서는 상관이 없어지는 이슈가 맞나요,,,? A: npm start로 빌드 시 로컬 스토리지에 토큰이 있는 경우는 로그아웃 등의 처리를 통해 지워주지 않아서 남아 있는 것으로 보입니다. 하지만 로컬 스토리지에 토큰이 남아있는 것은 상관이 없습니다. 토큰의 경우는 어차피 만료 시간이 정해져 있고, 만료된 경우는 사용하지 못하게 됩니다. 만료되지 않았다면 해당 토큰을 보유하고 있는 사용자는 정상적인 토큰을 보유하고 있으니 굳이 로그인 화면으로 리다이렉팅 될 필요도 없어보입니다. 만약 재 로그인을 하게되는 경우는 새로 발급 받은 토큰으로 스토리지에 업데이트 되니 로컬 스토리지에 토큰이 남아 있는 것은 개발 및 배포 환경에서 아무 문제가 없어 보입니다.

  4. 로그인 만료 토큰 처리 완료

    • security 필터에서 만료된 토큰이라면 401에러가 발생하도록 변경
    • 401에러가 발생한다면 frontend에서 axios의 response interceptor를 사용하여 만료된 토큰임을 알리고, 로그인 화면으로 리다이렉팅 처리 image
  5. README 내용 추가 작성

    • Redis 기술 스택 뱃지 추가
    • 개인 추가 역할란에 "Spring Security 설정" 추가

*이슈 내용에서 제안 주셨던 것처럼 specfication를 사용하여 JPA 메소드를 사용해보고 싶었으나 현재 쿼리에서는 join을 사용 중인데, 조사해본 결과 specfication에서 join을 사용하게 될 경우 현재 엔티티 코드를 변경하는 등 번거롭고, 여러 테스트가 필요한 문제가 있어 사용하지 않았습니다.

*스터디 정보(스케줄) 테이블 표는 페이지네이션을 제공하지 않았습니다.