/SimpleHR project
SimpleHR project

RN 앱 vs 웹모바일뷰 기능 격차 비교

comparisonedited by Cairni · 방금 · AIv1

개요

기업 모바일은 RN 앱(mobile/src)웹 모바일뷰(frontend/src/components/user/mobile/MobileXXX.tsx) 의 이중 구조로 운영된다. 현장 피드백에 따르면 웹모바일에서는 정상 동작하는 기능이 RN 앱에서는 누락된 사례가 다수 확인되었다. 이에 12개 도메인을 웹모바일 기준으로 RN과 코드 레벨로 1:1 대조하였다. 모바일 앱 스펙모바일 UI/UX 개선 작업과 함께 참고할 것. 원본 감사 문서 참조. RN 앱 ↔ 웹모바일뷰 기능 격차 감사 (0729)

근본 원인: RN 이식이 웹모바일보다 후속으로 진행되면서 최근·핵심 기능이 미반영되었다. 특히 출퇴근 인증방식(QR·IP)휴가 촉진 응답이 RN에 통째로 빠져 실사용을 직접 차단한다.


종합 현황

도메인판정누락 건수부분 구현최고 심각도
급여(payroll)✅ OK00
대시보드(홈)⚠️ GAPS44🔴 HIGH
출퇴근(attendance)⚠️ GAPS43🔴 HIGH
휴가(vacation)⚠️ GAPS40🔴 HIGH
조직도(directory)⚠️ GAPS21🔴 HIGH
프로필/내정보(profile)⚠️ GAPS31🔴 HIGH
신청서/서류(applications)⚠️ GAPS13🟠 MEDIUM
결재(approval)⚠️ GAPS23🟠 MEDIUM
메시지(messages)⚠️ GAPS12🟡 LOW
공지(notices)⚠️ GAPS01🟡 LOW
연장근로(overtime)⚠️ GAPS01🟡 LOW
근무표/일정(schedule)⚠️ GAPS10🟡 LOW

🔴 HIGH — 실사용 차단 (최우선 처리)

1. 출퇴근 QR·IP 인증방식 — RN 완전 미구현

GPS 출퇴근 스펙 참조.

RN CheckInSheet.tsx:161check_in_method:'GPS'만 하드코딩되어 있어 QR 스캔 및 사내망 IP 출퇴근 경로가 전무하다. 웹모바일은 GPS / QR / IP 세 가지 방식을 모두 지원한다. RN 앱 ↔ 웹모바일뷰 기능 격차 감사 (0729)

항목웹모바일RN 앱
QR 스캔 출퇴근CheckInLocationSheet.tsx:584-591,858 (QrScanModal→viaQr+qr_token)❌ 미구현
IP(사내망) 출퇴근CheckInLocationSheet.tsx:592-596 (handleIpConfirm→viaIp), 배너 :478-482❌ 미구현
인증방식 선택 드롭다운 + 마지막 방식 기억CheckInLocationSheet.tsx:799-839❌ 미구현
영향: QR 전용 또는 IP 전용 근무지에 배치된 직원은 RN 앱으로 출퇴근 자체가 불가능하다.

2. 휴가 연차촉진 응답 — RN 완전 미구현

연차촉진 스펙 참조. 웹모바일 MobileVacation.tsx에는 근로기준법 61조 촉진 응답 기능이 완비되어 있으나 RN vacation 모듈에는 관련 구현이 전혀 없다. RN 앱 ↔ 웹모바일뷰 기능 격차 감사 (0729)

항목웹모바일 위치RN 앱
촉진 통보 배너 (미응답 N건)MobileVacation.tsx:208-259, leaveApi.myPromotionNotices() L165❌ API 엔드포인트 없음
1차 응답 (사용 계획 제출+서명)PromoResponseSheet round=1 L795-808, 날짜입력 L859-870❌ 미구현
2차 응답 (회사 지정 사용일 확인서명)round=2 L809-818, L871-880, 배너 '확인 서명' L251❌ 미구현
촉진 응답 내역 섹션MobileVacation.tsx:396-434❌ 미구현
영향: 연차촉진 대상 직원이 RN 앱으로 법정 응답 기한을 지킬 수 없다.

3. 조직도 부서 칩 필터 — RN 미구현

웹모바일 MobileDirectory.tsx:20-23,70-90은 distinct 부서 칩으로 직원을 부서별 필터링한다. RN DirectoryScreen.tsx는 서버 페이지네이션을 이유로 이 필터를 의도적으로 제거(주석 14-16)하였고, 검색도 이름·이메일만 지원하여 부서명·직책 검색이 불가하다. RN 앱 ↔ 웹모바일뷰 기능 격차 감사 (0729)

추가로 임직원 상세 화면의 '메시지 보내기'(MobileDirectory.tsx:225-232/user/messages?new=1) 기능도 RN에 없다.


4. 프로필 필수서류 제출·조회 — RN 완전 미구현

웹모바일 MobileProfile.tsx:376-505는 '필수서류' 아코디언에서 getMyRequiredDocuments 목록, submission_type별 UPLOAD(파일)/PASTE(내용)/SIGN(작성) 처리, 재제출·취소, 상태 배지를 제공한다. RN ProfileScreen.tsx:242-265는 PC 안내 화면만 표시한다. RN 앱 ↔ 웹모바일뷰 기능 격차 감사 (0729)


🟠 MEDIUM — 보조·완결성

항목웹모바일RN 앱 현황
결재 '전체' 통합탭 (근태+서류 날짜순 합본)MobileApprovalList.tsx:123,208근태/서류 2탭만
결재 서류 본문 리치 렌더TemplatePreview 양식 레이아웃 :1099-1142하드코딩 ~15개 라벨 key-value 표 (logic.ts:149-179) — 커스텀 폼은 raw key 노출
신청서 서명/도장 입력TemplatePreview 서명 캔버스 (TemplatePreview.tsx:851)'PC에서 작성' 안내만 (SubmitSheet.tsx:550-556)
신청서 리치 붙여넣기(PASTE)표·서식 유지 (MobileFormSubmitSheet.tsx:289-298)plain 텍스트만 (logic.ts:203-209) — 서식·표 유실
신청서 내역 상세 리치 렌더TemplatePreview readonly (MobileApplicationsHistory.tsx:236-255)15개 라벨맵 key-value (HistoryScreen.tsx:375-394)
프로필 서류함(계약서/보관함/제증명서)MobileProfile.tsx:507-576❌ 미구현
프로필 자격증·면허 목록 + 만료/임박 배지MobileProfile.tsx:330-373❌ 미구현
프로필 계약 게이트 배너 상태별 구분hard/hard_pending MobileProfile.tsx:208-225단일 카드로 축소, PC 이탈
대시보드 허용시간 밖(EARLY/LATE) 폴백MobileDashboard.tsx:286-288,356-358시간 위반 분기 없어 에러문구만
대시보드 계약 미서명 '날인하러가기' 액션MobileDashboard.tsx:274-279토스트에 액션 버튼 미지원
출퇴근 폴백 요청 시 GPS 주소(역지오코딩) 첨부CheckInLocationSheet.tsx:436-464좌표만 전송 — 결재자에게 주소 미노출

🟡 LOW — 소소한 격차

  • 공지 본문 하이퍼링크: 웹은 <a> 렌더, RN logic.ts:127이 인라인 태그 제거 → href 소실, 링크 탭 불가.
  • 연장근로 사유 maxLength: RN RequestSheet.tsx:470 → 500자 제한 vs 웹 무제한.
  • 근무표 개인화 헤드라인: 웹만 '{이름}님의 이번 주 근무' (MobileMySchedule.tsx:302-307), RN은 고정 타이틀.
  • 출퇴근 개인화 헤더 H1, GPS 지속추적/수동 재조회: RN은 셸 타이틀·1회 측정.
  • 대시보드: 위치권한 사전경고 배너, 위치 수동 재조회, 최근 공지 항목→상세 딥링크 — RN 축소.
  • 메시지: 새 대화 picker 부서 계층 트리(웹) vs 평면 칩(RN), 프로필 사진(웹) vs 이니셜(RN).
  • 결재 상세: '~님 결재중' 대기 결재자 표시(웹 :757-760,1333-1337) — RN 상세 시트 미표시(목록 카드엔 있음).

착수 권장 순서

우선순위항목핵심 작업
1출퇴근 QR·IP (RN)CheckInSheet에 인증방식 선택 + QR 스캔(카메라)·IP 경로 추가. auth_methods·allowed_ips 소비.
2휴가 촉진 응답 (RN)vacation/api.ts에 promotion 래퍼 2개 + 배너 + 응답 시트(1차/2차) + 내역. (웹모바일 MobileVacation 이식.)
3프로필 필수서류·서류함·자격증 (RN)UPLOAD·PASTE 제출, 계약서/서류/제증명서 조회, 자격증 목록.
4신청서 서명·붙여넣기·리치 렌더 (RN)TemplatePreview 엔진 이관 규모 검토 후 진행.
5결재 통합탭 / 조직도 필터·메시지 / 대시보드 폴백·계약 액션완결성 보완.
참고: 급여(payroll)는 이의조회 이식으로 웹모바일과 동등 수준을 이미 달성하였으므로 본 감사 대상에서 제외. RN 앱 ↔ 웹모바일뷰 기능 격차 감사 (0729)
Made with CairniExplore public wikis →