기능 설명
01_회원가입 회원가입 양식데로 필드를 정의하고 테이블 생성
개인정보 가 있는 경우(이름, 휴대폰번호, 이메일) 등 필요
만약 AES256 적용시 추가로 개발하는 기능 중 해당 회원 정보를 조회하는 API에서 결과를 내려줄때는 복호화해서 내려줘야함
관련 필드에 DB 검색을 할 때도 검색조건을 암호화해서 대입해줘야함.
비밀번호 단방향(Bcrypt) 암호화 적용
API 구현 필요
02_로그인 Spring Security 적용
Jwt Token 인증방식 적용
Login 성공 후 마지막 로그인 성공 날짜 업데이트 적용
Login 성공 후 회원번호, User-agent, Client IP, 시간 등 로그 테이블에 등록 처리
로그인 API 가이드 및 구현 필요.
03_개인정보수정 로그인에서 발급된 Jwt Token 검증 필요 후 업데이트 처리
회원 테이블에 수정된 일자 업데이트 필요.
API 구현필요. 유저는 자기자신의 정보만 수정가능하다
04_개인연차/당직 연차/당직 구분 컬럼 구성으로 테이블 1개로 설계
저장/삭제 API 구현 필요. 특정일또는 기간에 당직 2개 까지 승인가능하다. 요청은 무한대로 할 수 있으나 승인은 2개만 가능
요청단계의 연차/당직은 신청자가 취소 가능하다
토일 포함된 경우 연차사용에서 제외된다
05_사용자간공유 데이터를 내려 줄 조회 API 구현 필요.
엑셀다운로드(옵션) 적용시 (프론트엔드 UI 라이브러리에서 지원이안되면) 서버에서 다운로드 API 구현 필요.
캘린더 화면에서 선택한 옵션(일/주/월/년, 전체유저, 특정유저) API 설계하기
옵션에 따라 서버도 데이터를 보내야 함. 페이징 기능으로 구현해야함
06_관리자 Admin(최상위 관리자, 최초의 관리자), Manager(관리자), User(일반)
관리자페이지에서 필요한 기능들
Admin: 관리자 권한 변경. 관리자의 모든 기능 포함.
관리자: 연차당직의 요청목록, 승인된목록 볼 수 있다. 요청상태는 승인 또는 취소 가능
자기자신 연차당직 요청도하고 스스로 승인해야 한다. 승인된것은 취소할 수 없다
사용자: 캘린더 화면에서 연차당직등록. 요청은 한번에 한건씩. 요청한건은 취소 불가
07_알람 알람테이블. 유저와 알람은 1:N관계. 특정 사용자에 속한 연차당직요청에 대한 승인 또는 거절 이나 연차일수 변경 발생시 특정 사용자에게 알람전송(알람테이블DB인서트)