| 기능 | 설명 | API | |
|---|---|---|---|
| 01_회원가입 | 회원가입 양식데로 필드를 정의하고 테이블 생성 | ||
| 개인정보 가 있는 경우(이름, 휴대폰번호, 이메일) 등 필요 | |||
| 비밀번호 단방향(Bcrypt) 암호화 적용 | |||
| API 구현 필요 | /join : 회원가입 |
| |
| 02_로그인 | Spring Security 적용
Jwt Token 인증방식 적용
Login 성공 후 마지막 로그인 성공 날짜 업데이트 적용
Login 성공 후 회원번호, User-agent, Client IP, 시간 등 로그 테이블에 등록 처리
액세스 토큰 만료시 리플래시토큰 재발급
로그아웃시 리프레시 토큰 회수(만료, 무효화)
로그인 API 가이드 및 구현 필요. | /login : 로그인
/auth/logout : 로그아웃
/refreshtoken : 리플래시토큰 재발급 | |
| 03_개인정보수정 | 로그인에서 발급된 Jwt Token 검증 필요 후 업데이트 처리
회원 테이블에 수정된 일자 업데이트 필요.
API 구현필요. 유저는 자기자신의 정보만 수정가능하다 | /auth/user : 회원상세보기
/auth/user : 개인정보수정 | |
| 04_개인연차/당직 | 연차/당직 구분 컬럼 구성으로 테이블 1개로 설계
신청, 취소, 결정 API
신청은 시작일, 종료일로 받고, 주말, 공휴일 포함된 경우 연차 신청 일수에서 제외된다(신청은 한번에 한건씩)
신청 단계의 연차/당직은 신청자가 취소 가능하다.
관리자는 결정 또는 거절 가능.
개인 연차 일수는 연차별로 다름(1년기준 15년 3년마다 1일추가 최대 25일. ).
연차는 일 년 안에 안 쓰면 사라짐. 사일 기준으로 매년 새로 부여받음.
관리자는 사용자의 연차일수 임의로 조정 가능. | /auth/leave/apply : 연차 당직 신청
/auth/leave/{id}/delete : 연차 당직 신청 취소
| |
| 05_사용자간공유 | 데이터를 내려 줄 조회 API 구현 필요.
엑셀다운로드(옵션) 적용시 (프론트엔드 UI 라이브러리에서 지원이안되면) 서버에서 다운로드 API 구현 필요.
캘린더 화면에서 선택한 옵션(일/주/월/년, 전체유저, 특정유저) API 설계하기
옵션에 따라 서버도 데이터를 보내야 함. 페이징 기능으로 구현해야함t | /auth/leave/all : 전체 연차 당직 정보 가져오기
/auth/leave/month/{month} : 연차 당직 정보 월별로 가져오기(세달치)
/auth/leave/id/{id} : 특정 유저의 연차 당직 정보 가져오기
/auth/leave/download : 전체 연차 당직 정보 액셀 다운로드
| |
| 06_관리자 | Master(최상위 관리자, 최초의 관리자), Admin(관리자), User(일반)
관리자 페이지에서 필요한 기능들
Master: 관리자 권한 변경. 관리자의 모든 기능 포함.
Admin: 연차 당직의 요청, 승인, 거절된 목록 볼 수 있다.
요청 상태는 승인 또는 취소 가능(자기 자신의 연차 당직 요청은 스스로 승인해야 한다. 이미 승인/거절된 것은 취소할 수 없다)
사용자 목록 볼 수 있고, 특정 사용자의 연차 일수를 수정할 수 있다.
| /admin/approve : 연차 당직 결정
/admin/annual/{id} : 관리자의 연차 일수 수정
/admin/leave : 대기 상태 연차 당직 정보 가져오기
/admin : 사원 목록 조회 및 검색
/master/{id} : 권한 변경 | |
| 07_알람 | 알람 테이블(유저와 알람은 1:N관계)
특정 사용자에 속한 연차 당직 신청에 대한 승인 또는 거절, 연차 일수 변경되는 사건 발생시 특정 사용자에게 알람 전송 (알람 테이블 DB insert) | /auth/alarm : 로그인한 사용자의 알람 정보 가져오기 | |
| | | | |
| | | | |