한 줄 요약
HR이 로그인 직후 오늘 처리할 업무와 알림을 한 화면에서 확인하고, 각 항목의 실제 업무 화면으로 이동할 수 있게 합니다.
화면 기준
- Figma
[PWF] Prototype-WireFrame-3rd의 05_Desktop Core Product > HOME
- 상단 알림 버튼과 오늘의 업무·검토 대기·근로자 응답·만료 임박 카드
- 세부 요청·응답 필드는 Notion API 명세를 기준으로 합니다.
소유 API
로그인 사용자 정보는 이 응답에 중복해서 넣지 않고 GET /api/v1/auth/me를 함께 사용합니다.
응답이 설명해야 하는 것
오늘 대시보드
- 오늘 마감 또는 기한 임박 업무
- 상태별 업무 개수와 우선 처리 목록
- 승인 대기 개수와 근로자 응답 개수
- 향후 7일의 체류·계약·서류 만료 요약
- 사용자가 눌렀을 때 이동할 안전한 내부 경로와 필터 조건
알림
- 읽음 여부, 발생 시각, 종류, 짧은 설명, 이동할 대상
- 현재 사용자의 읽지 않은 알림 개수
unreadOnly, cursor, size 기반 조회
- 읽음 처리는 같은 요청을 반복해도 결과가 달라지지 않는 멱등 동작
초보자용 구현 순서
- Figma 카드마다 필요한 숫자·목록·이동 경로를 응답 DTO로 먼저 적습니다.
DashboardQueryService가 같은 사업장의 Task·Worker·Document·Approval 요약을 조회하게 합니다.
- 알림은 원본 업무 데이터와 분리된
Notification 읽기 모델로 저장합니다.
- 생성·변경 이벤트에서 알림을 만들고, 화면은 목록 조회와 읽음 처리만 수행합니다.
- 빈 데이터, 날짜 경계, 페이지네이션, VIEWER 권한, 타 사업장 격리 테스트를 작성합니다.
보안·업무 규칙
companyId와 사용자 ID는 JWT의 ActorContext에서 결정합니다.
- 다른 사업장의 집계·알림은 존재 여부도 노출하지 않습니다.
- 알림 본문에는 여권번호·외국인등록번호·전화번호 등 민감 원문을 넣지 않습니다.
- 알림은 업무를 알려 주는 기능이며 승인·발송·기관 제출을 자동 실행하지 않습니다.
완료 조건
이번 이슈에서 하지 않는 것
- 자유롭게 조합하는 분석 대시보드와 장기 BI
- WebSocket 실시간 푸시
- SMS·이메일·메신저 외부 발송
선행/후속 관계
한 줄 요약
HR이 로그인 직후 오늘 처리할 업무와 알림을 한 화면에서 확인하고, 각 항목의 실제 업무 화면으로 이동할 수 있게 합니다.
화면 기준
[PWF] Prototype-WireFrame-3rd의05_Desktop Core Product > HOME소유 API
GET /api/v1/dashboard/todayGET /api/v1/notificationsPOST /api/v1/notifications/{notificationId}/read로그인 사용자 정보는 이 응답에 중복해서 넣지 않고
GET /api/v1/auth/me를 함께 사용합니다.응답이 설명해야 하는 것
오늘 대시보드
알림
unreadOnly,cursor,size기반 조회초보자용 구현 순서
DashboardQueryService가 같은 사업장의 Task·Worker·Document·Approval 요약을 조회하게 합니다.Notification읽기 모델로 저장합니다.보안·업무 규칙
companyId와 사용자 ID는 JWT의ActorContext에서 결정합니다.완료 조건
이번 이슈에서 하지 않는 것
선행/후속 관계