Skip to content

[Demo Seed] Figma·Workflow 문서 기반 운영형 데모 데이터 확장 #70

Description

@krestar

1. 현재 데이터 기준

현재 데모 시드는 다음과 같이 구성되어 있습니다.

구분 현재 수량
회사 2
계정 23
FOWOCO Demo Company 근로자 5
FOWOCO Test Company 근로자 5
Demo Company 업무 5
근로자 문서 7
활동 이력 3

현재 운영 데이터 시드는 다음 파일에 구현되어 있습니다.

  • src/main/java/com/fowoco/server/demo/infrastructure/seed/DemoOperationalSeedRunner.java
  • src/main/java/com/fowoco/server/worker/infrastructure/seed/DemoWorkerSeedRunner.java
  • src/main/java/com/fowoco/server/auth/infrastructure/seed/DemoAuthSeedRunner.java

2. 목표 데이터 규모

Figma의 PEOPLE-001WORK-001 화면에 표시된 수량을 기준으로 운영형 데모 데이터셋을 구성합니다.

FOWOCO Demo Company

데이터 최종 수량 목적
계정 기존 20명 유지 ADMIN·HR·VIEWER 역할 유지
근로자 28명 Figma PEOPLE-001의 전체 28명 반영
업무 24건 Figma WORK-001의 전체 24 반영
근로자 문서 84건 근로자마다 2~4종의 서류 구성
체크리스트 68건 Workflow별 필수 단계 구성
승인 요청 13건 대기·승인·반려·무효화 상태 구성
상태 전환 이력 약 52건 업무 생성부터 완료까지의 진행 과정
외부기관 제출 6건 접수 완료 및 결과 대기 사례
완료 증빙 10건 접수증·공식 결과·HR 확인
문서 요청 초안 5건 근로자에게 전달할 서류 요청문 초안
Audit Event 약 96건 오늘·7일·30일·과거 활동 이력

FOWOCO Test Company

Test Company는 운영형 데이터를 모두 복제하지 않고 사업장 데이터 격리를 확인할 수 있는 소규모 데이터셋으로 유지합니다.

데이터 최종 수량
계정 기존 3명
근로자 기존 5명
업무 3건
문서 8건
Audit Event 약 8건

전체 DB 기준 예상 규모는 다음과 같습니다.

  • 회사 2개
  • 계정 23명
  • 근로자 33명
  • 업무 27건
  • 문서 92건

3. 근로자 데이터 구성

Demo Company 근로자 28명은 다양한 근무 상태, 국적, 언어 및 체류 만료일을 가지도록 구성합니다.

근무 상태

상태 수량
ACTIVE 22명
ON_LEAVE 2명
RESIGNED 2명
TERMINATED 2명

국적 및 선호 언어

다음과 같은 국적·언어 조합을 포함합니다.

  • 베트남: VN / vi
  • 태국: TH / th
  • 네팔: NP / ne
  • 인도네시아: ID / id
  • 필리핀: PH / en
  • 캄보디아: KH / km
  • 몽골: MN / mn
  • 방글라데시: BD / bn
  • 우즈베키스탄: UZ / uz
  • 스리랑카: LK / si

체류 만료일 분포

  • D-7 이내 긴급
  • D-12
  • D-21
  • D-35
  • D-62
  • 90일 이내
  • 90일 이후 정상
  • 일부 정보 미확인

대표 근로자

Figma의 우선 확인 목록과 주요 업무 시나리오를 연결하기 위해 다음 대표 근로자를 추가합니다.

  • 응웬반A
  • 쩐티B
  • 수라즈C
  • 아흐메드D
  • 솜차이E

기존 데모 근로자 01~05는 시드 충돌 방지를 위해 유지하고 신규 근로자를 추가합니다.

4. 업무 데이터 구성

현재 백엔드에서 지원하는 업무 유형만 사용합니다.

업무 유형

업무 유형 수량
STAY_PERIOD_EXTENSION 10건
RECONTRACT 8건
EMPLOYMENT_PERIOD_EXTENSION 6건
합계 24건

업무 상태

상태 수량
DRAFT 3건
NEEDS_INFO 2건
READY_FOR_REVIEW 4건
APPROVED 2건
WAITING_WORKER 4건
WAITING_EXTERNAL 3건
COMPLETED 5건
CANCELLED 1건
합계 24건

이 분포를 통해 업무함의 다음 지표와 필터에 데이터가 표시되도록 합니다.

  • AI 준비 완료
  • 검토 필요
  • 승인 대기
  • 후속조치
  • 긴급 업무
  • 오늘 완료

5. 대표 업무 시나리오

Workflow 문서와 Figma에서 확인한 시나리오 중 현재 서버가 표현할 수 있는 범위를 다음과 같이 구성합니다.

  1. 응웬반A 체류연장 D-12, 요청문 승인 대기
  2. 쩐티B 체류연장 D-21, 신청서 1건 누락
  3. 수라즈C 여권 사본 요청, 근로자 응답 대기
  4. 아흐메드D 체류만료 D-62, AI 추천 업무 초안
  5. 솜차이E 체류연장 완료, 추가 조치 없음
  6. 계약 종료 D-60, 체류기간에는 여유가 있는 사례
  7. 재계약은 완료됐지만 고용허가기간 연장 결과는 없는 사례
  8. 여권 만료일이 체류 연장 예정일보다 빠른 사례
  9. 서식 7호와 서식 12호의3 구분이 필요한 사례
  10. 제출 채널이 누락되어 NEEDS_INFO 상태인 사례
  11. 승인 후 내용 변경으로 기존 승인이 무효화된 사례
  12. 중복 생성으로 취소된 업무
  13. 외부기관 접수번호를 기록하고 결과를 기다리는 사례
  14. 접수증과 공식 결과까지 기록되어 완료된 사례

관련 업무는 동일한 case_id를 사용하여 재계약과 고용허가기간 연장 등의 연속성을 표현합니다.

단, 현재는 별도의 Case 엔터티나 Case 테이블이 없으므로 완전한 Master Workflow처럼 구현하지 않습니다.

6. 문서 데이터 구성

현재 백엔드가 지원하는 다음 네 가지 문서 유형만 사용합니다.

  • PASSPORT_COPY
  • ARC
  • CONTRACT
  • PERMIT

문서 상태

상태 수량
VERIFIED 48건
SUBMITTED 20건
MISSING 16건
합계 84건

문서 만료일

만료 조건 수량
이미 만료 4건
30일 이내 만료 12건
31~90일 이내 만료 18건
90일 이후 42건
만료일 미확인 8건
합계 84건

이를 통해 문서 화면의 다음 탭과 지표가 비어 있지 않도록 구성합니다.

  • 전체
  • 검토 필요
  • 만료 예정
  • 누락 문서
  • 요청 중
  • 최근 업로드

실제 파일 바이너리와 가짜 저장 경로는 생성하지 않습니다.

다운로드 API가 없는 상태에서 stored_file 메타데이터만 생성하면 끊어진 파일 참조가 될 수 있으므로 이번 범위에서는 문서 상태와 만료일 중심으로 구성합니다.

7. 체크리스트·승인·외부 제출·완료 증빙

각 업무가 단순 목록 데이터가 아니라 실제 진행 중인 업무처럼 보이도록 연관 데이터를 함께 생성합니다.

DRAFT / NEEDS_INFO

  • 필수 체크리스트 일부 미완료
  • due_at, 제출 채널 등 일부 필수 정보 누락
  • AI 추천 또는 추가 정보 확인 필요 상태

READY_FOR_REVIEW

  • 필수 체크리스트 완료
  • PENDING 승인 요청 연결
  • HR의 검토와 승인이 필요한 상태

APPROVED

  • 승인자 기록
  • 승인 시각 기록
  • 승인된 Snapshot과 대상 버전 기록

WAITING_WORKER

  • 여권, ARC, 계약서 등의 문서 요청 초안 연결
  • 근로자 응답 대기 상태
  • 관련 Audit Event 기록

WAITING_EXTERNAL

  • 외부기관 제출처 기록
  • 개인정보가 포함되지 않은 안전한 접수 참조값 기록
  • 외부기관 처리 결과 대기

COMPLETED

  • 접수증
  • 공식 결과
  • HR 확인
  • 다음 검토 예정일 등 완료 증빙 기록

CANCELLED

  • 취소 사유 기록
  • 중복 생성 또는 업무 불필요 사유 기록
  • 상태 전환 이력 기록

승인 요청은 다음 상태를 모두 포함합니다.

  • PENDING
  • APPROVED
  • REJECTED
  • INVALIDATED

8. 활동 이력 구성

Agent 로그 화면의 기간 및 근거 출처 필터가 모두 동작하도록 다양한 Actor의 Audit Event를 구성합니다.

Actor 유형

  • HR_USER
    • 업무 생성
    • 업무 수정
    • 승인 요청
    • 승인 및 반려
  • AI_AGENT
    • 업무 초안 생성
    • 보유 정보 분석
    • 누락 정보 감지
  • SYSTEM_RULE
    • D-day 감지
    • 기한 위험 알림
    • 정기 확인 업무 생성
  • WORKER_LINK
    • 안내 확인
    • 질문 등록
    • 서류 제출

시간 분포

  • 오늘
  • 최근 7일
  • 최근 30일
  • 30일 이전

이를 통해 Agent 로그의 다음 필터에 각각 데이터가 표시되도록 합니다.

  • 등록된 규칙
  • Agent 초안
  • HR 확인
  • 근로자 응답

9. 이번 시드에서 만들지 않을 데이터

다음 항목은 Workflow 문서와 Figma에는 존재하지만 현재 백엔드 모델이 없거나 프론트엔드에서 정적 데이터를 사용하고 있으므로 이번 구현 범위에서 제외합니다.

  • 신규 입사 WORKER_ONBOARDING Master Workflow
  • 퇴사·고용변동 EMPLOYMENT_CHANGE
  • 독립적인 문서 요청 Workflow
  • 급여 설명 Workflow
  • 근무·일정 안내 Workflow
  • 급여 데이터
  • 근태 데이터
  • 근무 일정 데이터
  • Excel/CSV Import Batch
  • OCR 분석 결과
  • 중복 근로자 후보
  • Import 충돌 행
  • Worker Secure Link 토큰
  • Worker Link 만료·재발급·폐기
  • 근로자 질문 Ticket
  • ANY_ONE 승인 정책
  • 구성원별 승인 권한 설정
  • 별도 Case 엔터티
  • 업무 간 선후행 관계 및 잠금
  • NEEDS_REVIEW, EXPIRED, REJECTED 등의 확장 문서 상태
  • HWP/HWPX 변환 결과
  • AI 문서 비교 결과
  • 실제 파일 바이너리
  • Refresh Token
  • Outbox 작업 데이터

10. 정적 화면과 실제 API 연동 범위

현재 다음 화면은 실제 API 데이터를 사용하므로 이번 데모 시드의 영향을 받습니다.

  • 근로자 목록
  • 근로자 상세
  • 업무 목록
  • 업무 상세의 기본 정보와 체크리스트
  • 문서 목록
  • 문서 상세의 기본 정보
  • Agent 활동 이력

반면 다음 화면 또는 화면 일부는 현재 정적 데이터를 사용하므로 DB 시드를 추가해도 표시 내용이 변경되지 않습니다.

  • 대시보드
  • 티켓 목록 및 티켓 상세
  • 온보딩 파일 가져오기
  • 근로자 보안 링크
  • Review 화면의 AI 분석 결과
  • Case 상세의 문서 영역
  • Case 상세의 소통 영역
  • 설정 및 정책 관리

정적 화면을 채우기 위해 이번 작업에서 새로운 API나 테이블을 구현하지 않습니다.

11. 구현 원칙

  • 기존 Demo Seed 설정으로 함께 실행할 수 있어야 합니다.
  • 모든 시드 데이터는 고정 UUID를 사용합니다.
  • 시드를 재실행해도 데이터가 중복되지 않아야 합니다.
  • 예약된 UUID나 이메일이 다른 데이터와 충돌하면 덮어쓰지 않고 실행을 중단합니다.
  • 날짜는 실행일 기준 상대 날짜로 생성합니다.
  • 업무 상태, 체크리스트, 승인, 제출 및 증빙 상태가 서로 모순되지 않아야 합니다.
  • Test Company 데이터가 Demo Company 계정에서 조회되지 않아야 합니다.
  • 실제 여권번호, 외국인등록번호, 연락처, 급여정보를 사용하지 않습니다.
  • 로그와 business_data_json에 민감정보를 기록하지 않습니다.
  • Flyway migration을 추가하지 않습니다.
  • 기존 API와 도메인 모델을 변경하지 않습니다.
  • 기존 BcKmini 요청으로 추가한 데이터는 삭제하지 않고 확장합니다.

12. 완료 조건

  • FOWOCO Demo Company에 근로자 28명이 존재한다.
  • Demo Company 업무가 총 24건 존재한다.
  • 모든 업무 상태가 최소 1건 이상 존재한다.
  • 세 가지 업무 유형이 모두 존재한다.
  • Demo Company 문서가 총 84건 존재한다.
  • 문서 유형과 제출 상태가 모두 최소 1건 이상 존재한다.
  • 30일 이내 만료 문서와 누락 문서가 존재한다.
  • 업무별 Workflow 체크리스트가 존재한다.
  • 승인 대기·승인·반려·무효화 이력이 존재한다.
  • 근로자 응답 대기와 외부기관 응답 대기 업무가 존재한다.
  • 완료 업무에 완료 증빙이 연결되어 있다.
  • HR·AI·System Rule·Worker Link 활동 이력이 존재한다.
  • 시드를 다시 실행해도 중복 데이터가 생성되지 않는다.
  • 예약 ID가 기존 데이터와 충돌하면 실행을 중단한다.
  • Demo Company와 Test Company 사이의 데이터가 격리된다.
  • 실제 개인정보나 Secret이 포함되지 않는다.
  • 아직 정적 화면이거나 백엔드 모델이 없는 기능은 이번 시드에서 제외한다.

Metadata

Metadata

Assignees

Labels

area:serverSpring Boot API·도메인·DB·tenant·Task Workflow 영역; Prompt·모델·Provider 구현 제외priority:P1핵심 작업 다음으로 처리할 중요 작업status:ready범위가 확정되어 바로 시작할 수 있는 작업type:chore저장소 설정·의존성·유지보수 작업

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions