SimpleHR project
Simple HR 프로젝트 개요
entityedited by Cairni · 방금 · AIv6
개요
Simple HR은 기업 인사 관리를 위한 HR SaaS 플랫폼으로, PC 및 모바일 환경을 모두 지원한다. 직원 등록·계약·근태·결재·교대근로·휴가 등 HR 전반을 커버하며, 별도의 홈페이지를 통해 사용 신청 및 요금제 안내를 제공한다.
현재 요금제 시스템 구현 설계가 진행 중이며, 플랜별 메뉴 제한, DB 스키마, API, 프론트엔드 변경사항을 포괄한다.
주요 기능 영역
| 기능 영역 | 관련 스펙 페이지 | 비고 |
|---|---|---|
| 직원 등록 및 관리 | 직원 등록 플로우 | 일괄등록 UI 개선 진행 중 |
| 관리자 등급·권한 | 관리자 등급 및 권한 관리 스펙 | 최고관리자·조직관리자·중간관리자·일반관리자 4종 |
| 직무 관리 | 직무 관리 (직위·직급·직무 3단 구성) | |
| 근로계약서 | 근로계약서 스펙, 근로계약서 스펙 | 신규/연장 구분, 직인 스냅샷 처리 |
| 근무 정책 | 근무 정책 스펙 | 부서별 정책 일괄 적용 미지원(수동) |
| 근태 관리 | 근태 관리 스펙 | GPS 체크인 반경 null 버그 수정 완료 |
| GPS 출퇴근 | GPS 출퇴근 스펙 | 체크인 반경 필수 설정 필요 |
| 교대(변형)근로 | 교대(변형)근로 관리 스펙 | 휴가 취소 시 스케줄 복원 이슈 수정 완료 |
| 휴가 관리 | 휴가 관리 스펙 | |
| 휴일 관리 | 휴일 관리 스펙 | 임시휴일(선거) 전사 적용 기능 포함 |
| 결재 관리 | 결재 관리 스펙 | 신청 내역 상세 조회 기능 추가 완료 |
| 양식 편집기 | 양식 편집기(폼 빌더) 스펙 | PASTE·v2 JSON 분기, 표 HTML 보존 |
| 이용요금·과금 | 이용요금(과금) 정책 스펙, 이용요금 및 과금 정책 | 요금제 시스템 구현 설계 진행 중 |
| 모바일 UI/UX | 모바일 UI/UX 개선 작업 (기업 사용자), 모바일 앱 스펙 | |
| 토스트 알림 | 토스트 알림 공통 컴포넌트 스펙 | |
| 인증 세션 | 인증 만료 시 빈 페이지 노출 이슈 |
요금제 시스템 (신규 설계)
요금제 시스템 구현 설계에 따라 다음을 구현한다:
플랜 구조
| 플랜 코드 | 이름 | 1인당 단가 | 주요 제약 |
|---|---|---|---|
| PLAN_FREE | 무료 | 0원 | 이러닝·전자근로계약서 제외 |
| PLAN_BASIC | 베이직 | 2,000원 | 이러닝·전자근로계약서 제외 |
| PLAN_STD | 스탠다드 | 3,000원 | 전체 메뉴 |
| PLAN_SPC | 스페셜 | 10,000원 | 전체 메뉴 + 페이롤 연동 |
설계-요금제시스템.md
과금 공식
재직인원 ≤ 5명 → 0원
5 < 재직인원 ≤ 10명 → 월 20,000원 (PLAN_FREE는 0원)
재직인원 > 10명 → 20,000 + (재직인원 - 10) × 1인당 단가예: 스탠다드 11명 = 20,000 + 1 × 3,000 = 23,000원 설계-요금제시스템.md
핵심 변경사항
DB 스키마
billing_plans테이블 신규 생성 (플랜 코드, 단가, 기본료 관리)billing_snapshots테이블 신규 생성 (월별 과금 스냅샷 및 이력)tenant_billing_overrides테이블 (업체별 커스텀 단가, 구조만 우선)tenants.plan_code필드 기존 → PLAN_FREE/BASIC/STD/SPC로 통일
API (시스템관리자)
GET /v2/system/billing-plans— 플랜 목록 조회PUT /v2/system/billing-plans/{plan_code}— 단가 수정GET /v2/system/usage— 테넌트별 사용량 및 과금 실시간 조회POST /v2/system/billing-snapshots/generate— 월별 스냅샷 생성PATCH /v2/system/tenants/{id}/trial— 체험판 연장/단축/정식 전환
API (회사 최고관리자, 읽기 전용)
GET /v2/admin/billing/current— 현재 월 과금 정보GET /v2/admin/billing/history— 청구 이력
플랜별 메뉴 제한
Menu.visible_tiersJSONB 필드를 권위 소스로 사용- 이러닝·전자근로계약서 메뉴만
["PLAN_STD", "PLAN_SPC"]로 제한 - 나머지 메뉴는
["PLAN_FREE", "PLAN_BASIC", "PLAN_STD", "PLAN_SPC"] menu_permission_guard미들웨어에 플랜 체크 추가
프론트엔드
- 시스템관리자: 요금제 관리, 회사 관리 플랜 드롭다운, 사용량 대시보드, 라이센스 메뉴 관리
- 회사 최고관리자: 정산 페이지 신규 추가 (플랜, 인원, 단가, 기본료, 추가분, 합계, 청구 이력)
설계-요금제시스템.md
주요 시스템 구조
진행 중인 주요 작업 현황
작업 현황AI · 출처 클릭
완료11
GPS 체크인 반경 null 표시 버그 수정 (withinRadius 체크 순서 변경)
fix-task-0612.md
첫 기업 가입 시 관리자 권한 설정 실패 수정 (bootstrap_admin_employee 개선)
fix-task-0612.md
계약기간 만료 7일 전 알림 발송 및 배지 표시
fix-task-0612.md
근로계약서 신규/연장 구분 표시 및 Drawer 저장 버그 수정
fix-task-0612.md
교대근로 날짜 필터 동작 수정
fix-task-0612.md
휴가 승인/취소 시 교대근로 스케줄 연동 수정
fix-task-0612.md
신청 내역 상세 조회 기능 추가 (/user/applications/history)
fix-task-0612.md
홈페이지 이용요금 페이지 및 개인정보 동의 UI 업데이트
fix-task-0612.md
PASTE 유형 양식 관리자 템플릿 미리채움 구현
fix-task-0612.md
양식 편집기 표 변수 적용 수정 (HTML 표 구조 보존)
fix-task-0612.md
계약서 직인 스냅샷 우선순위 수정 (context_snapshot → context → previewContext)
fix-task-0612.md
진행 중 / 미완료13
요금제 시스템 구현 (DB 스키마, API, 서비스, 프론트엔드)
직원 근무 일정 표시 개선 — 실제 출퇴근 시간 노출 방안 검토 중 (옵션 A: 탭 분리 / 옵션 B: 기존 표에 병기)
fix-task-0612.md
직원 일괄등록 UI 개선
fix-task-0612.md
부서별 근로 정책 일괄 적용 기능 (현재 수동 처리)
fix-task-0612.md
계약서 직인 교체 후 이전 계약서 직인 유지 여부 테스트 미완료
fix-task-0612.md
페이징 처리 통일
fix-task-0612.md
업체별 판매금액 정산 페이지 구현
fix-task-0612.md
월 단가(서버·유지관리비) 산정
fix-task-0612.md
홈페이지 회사소개서 다운로드 기능 (최종본 완성 후 게시)
fix-task-0612.md
사용 신청 즉시 승인 플로우 및 자동 요금제 설정 방안 미결
fix-task-0612.md
결재 완료 후 기안서·신청서 내용 조회 구현 확인
fix-task-0612.md
기업사용자 결재하기 UI 개선 (user/approval)
fix-task-0612.md
만근 수당 구현 및 기준 정의 (현재 결근/지각 시에도 만근수당 지급되는 문제)
fix-task-0612.md
관련 문서
- 수정 로그: fix-task-0612.md, fix-task-0610.md, fix-task-0603.md, fix-task-0602.md, fix-task-0601.md
- 의사결정: 의사결정 로그
- 액션 아이템: 액션 아이템
- 버그 수정 현황: 버그 수정 및 기능 개선 현황 (0612)
- 직원 재직 상태 변경: 직원 재직 상태 변경 워크플로
- 요금제 설계: 설계-요금제시스템.md