resumes 스키마
워크마루 이력서 문서의 전체 스키마. 각 엔드포인트 문서에서 참조용으로 사용합니다.
저장 위치
- 사용자별 서브컬렉션으로 저장됩니다.
- 한 사용자당 최대 10개까지 생성 가능합니다.
문서 필드
| 필드 | 타입 | 설명 |
|---|---|---|
title |
string | 이력서 제목 (최대 100자) |
email |
string | 연락용 이메일 (이메일 형식 검증) |
phone |
string | 휴대폰 번호 (010-XXXX-XXXX) |
location |
string | 주소 (최대 400자) |
introduction |
string? | 자기소개 (최대 2000자, 선택) |
careers |
Career[] | 경력사항 배열 — 아래 Career 참조 |
educations |
Education[] | 학력사항 배열 — 아래 Education 참조 |
certificates |
ResumeCertificate[] | 이력서에 포함된 자격증 배열 — 아래 ResumeCertificate 참조 |
military |
Military? | 병역사항 — 아래 Military 참조 |
created_at |
timestamp | 생성 시각 (KST) |
updated_at |
timestamp | 최종 수정 시각 (KST) |
users 서브컬렉션의 certificates와 구분
이력서 문서의 certificates 배열은 이력서 본문에 포함된 자격증 요약 정보입니다. 사용자 프로필용 자격증 원본은 별도 컬렉션 users/{uid}/certificates에 저장됩니다.
Career
경력사항 서브오브젝트. start_date 오름차순으로 자동 정렬되어 저장됩니다.
| 필드 | 타입 | 설명 |
|---|---|---|
company_name |
string | 회사명 (필수) |
position |
string | 직책/직무 (필수) |
start_date |
string | 입사일 (YYYY-MM 형식) |
end_date |
string? | 퇴사일 (YYYY-MM 형식, null이면 재직중) |
description |
string? | 업무 설명 (선택) |
Education
학력사항 서브오브젝트.
| 필드 | 타입 | 설명 |
|---|---|---|
school_type |
string | 학교 구분 (아래 ENUM 참조) |
school_name |
string? | 학교명 (검정고시일 경우 자동 "검정고시") |
major |
string? | 전공 (선택) |
status |
string | 졸업 상태 (아래 ENUM 참조) |
graduation_date |
string? | 졸업일 (선택) |
school_type ENUM: high_school, ged, college, university, master, doctor
status ENUM: graduated, enrolled, leave, dropout, expected, passed
검정고시 특수 규칙
school_type == "ged"인 경우status는 반드시"passed"이며school_name은 자동으로"검정고시",major는null로 설정됩니다.ged가 아닌 경우status에"passed"를 사용할 수 없습니다.
ResumeCertificate
이력서 문서 안에 임베딩되는 자격증 요약. (별도 users/{uid}/certificates 원본과 독립)
| 필드 | 타입 | 설명 |
|---|---|---|
name |
string | 자격증명 (필수) |
issuer |
string | 발급기관 (필수) |
grade |
string? | 급수/점수 (선택) |
acquired_date |
string | 취득일 (YYYY-MM 형식) |
Military
병역사항 서브오브젝트.
| 필드 | 타입 | 설명 |
|---|---|---|
status |
string | 병역 구분 (아래 ENUM 참조) |
branch |
string? | 군별 (status == "completed"일 때만 값 존재) |
start_date |
string? | 입대일 (YYYY-MM, 군필 시 필수) |
rank |
string? | 전역 계급 (선택) |
status ENUM: completed(군필), not_completed(미필), exempted(면제)
branch ENUM: army(육군), navy(해군), air_force(공군), marine(해병대), social_service(사회복무요원), other(기타)
조건부 필수 규칙
status == "completed"인 경우branch,start_date가 필수입니다.status가not_completed또는exempted인 경우branch,start_date,rank는 모두null로 저장됩니다.
예시 문서
{
"title": "건설 경력 이력서",
"email": "user@example.com",
"phone": "010-1234-5678",
"location": "서울시 강남구",
"introduction": "10년차 건설 현장 관리자입니다.",
"careers": [
{
"company_name": "ABC건설",
"position": "현장소장",
"start_date": "2020-01",
"end_date": "2023-12",
"description": "아파트 신축 현장 관리"
}
],
"educations": [
{
"school_type": "university",
"school_name": "서울대학교",
"major": "건축공학",
"status": "graduated",
"graduation_date": "2015-02-25"
}
],
"certificates": [
{
"name": "건설안전기사",
"issuer": "한국산업인력공단",
"grade": "기사",
"acquired_date": "2019-06"
}
],
"military": {
"status": "completed",
"branch": "army",
"start_date": "2015-03",
"rank": "병장"
},
"created_at": "2026-04-23T10:00:00+09:00",
"updated_at": "2026-04-23T10:00:00+09:00"
}
관련 엔드포인트
- create_resume — 이력서 생성
- update_resume — 이력서 수정
- delete_resume — 이력서 삭제