Scope
라이더 등록 폼에 "초기 교육 이력 (선택)" 입력 섹션을 추가해 운영자가 한 화면에서 라이더 등록과 첫 교육 이력까지 함께 입력 가능하게 한다. 입력하지 않으면 기존처럼 라이더만 생성.
Included:
- RiderForm 에 "초기 교육 이력 (선택)" 섹션 추가 — 교육 종류 / 과정명 / 완료일 / 만료일 / 수료증 번호 / 발급 기관.
- createRiderAction 이 라이더 생성 후 입력된 교육 정보가 충분하면 추가로 `createRiderEducationRecord` 호출.
- 교육 record 생성 실패는 라이더 생성을 되돌리지 않고 status flash 로 안내 (라이더는 이미 만들어진 상태이므로 운영자가 별도로 다시 시도 가능).
- 등록 후 redirect query param 으로 "라이더 + 교육 등록 완료" / "라이더만 등록 완료" / "교육 부분 실패" 구분 표시.
Excluded:
- 라이더 수정 폼에 교육 입력 통합 (이미 라이더 상세에서 등록/수정/삭제 가능).
- 다중 교육 record 동시 등록.
- 라이더 등록 시 보험 입력 통합 (별도 슬라이스).
Acceptance criteria
- 폼이 교육 입력 섹션을 노출하되 모든 교육 필드는 비어있어도 제출 가능.
- 교육 종류 + 완료일 둘 다 입력된 경우만 백엔드 호출.
- 라이더만 등록 시 기존 status=created 동작.
- 라이더 + 교육 등록 시 status=created-with-education.
- 라이더 등록 성공 + 교육 등록 실패 시 status=created-education-failed 와 함께 라이더 상세로 이동.
- `npm run lint` / `npx tsc --noEmit` / `npm run test:service-ops` / `npm run build` 통과.
Trace
Concurrent work gate
Decision: allowed-with-non-overlap
Evidence:
- Open target issues: none.
- Open target PRs: none.
- Active branches: dev, main.
Reason: front-admin-web 만 변경.
Scope
라이더 등록 폼에 "초기 교육 이력 (선택)" 입력 섹션을 추가해 운영자가 한 화면에서 라이더 등록과 첫 교육 이력까지 함께 입력 가능하게 한다. 입력하지 않으면 기존처럼 라이더만 생성.
Included:
Excluded:
Acceptance criteria
Trace
Concurrent work gate
Decision: allowed-with-non-overlap
Evidence:
Reason: front-admin-web 만 변경.