Skip to content

Repository files navigation

Job-Cheat Database

Job-Cheat의 Firestore 데이터 계약을 설명하는 JSONC 목데이터·스키마 카탈로그입니다.

이 저장소는 실행 애플리케이션, 운영 Firestore 덤프, 또는 Firestore에 바로 import할 수 있는 시드 데이터가 아닙니다. 개발자가 사용자·페르소나·채용공고·자기소개서·면접·추천 데이터의 형태를 빠르게 합의하고, 프런트엔드·백엔드 개발에 사용할 비식별 예시를 확인하기 위한 참조 저장소입니다.

Important

모든 .json 파일에는 필드 설명용 // 주석이 포함돼 있습니다. 즉 엄밀한 JSON이 아닌 JSONC 스타일 문서이므로 그대로 파싱하거나 Firestore에 import할 수 없습니다. 사용 전 주석 제거와 대상 환경에 맞는 변환이 필요합니다.

이 저장소에서 다루는 것

구분 포함 포함하지 않음
데이터 모델 Firestore 컬렉션 경로, 문서 필드, 참조 관계 운영 데이터베이스의 완전한 스키마 마이그레이션
목데이터 비식별 문서 예시와 UI·API 개발용 값 실제 사용자 대화, 면접 답변, 운영 데이터 덤프
개발 계약 구현 전후 확인할 데이터 형태와 변경 이력 API 엔드포인트·권한 규칙의 단독 정의

✨ 주요 기능

기능 설명
스키마 카탈로그 Job-Cheat의 핵심 도메인별 Firestore 문서 구조와 필드 의미를 제공합니다.
비식별 예시 화면·API 개발에 사용할 수 있는 페르소나, 채용공고, 추천, 면접 예시를 제공합니다.
참조 관계 안내 사용자와 페르소나를 중심으로 공고·자기소개서·면접·추천을 연결하는 방식을 보여줍니다.
변경점 가시화 샘플과 현재 서버 구현 사이의 차이를 기록해 잘못된 구조 복제를 방지합니다.

🧭 사용 원칙

  • 서버 구현이 최종 계약: 이 저장소의 예시는 설계·개발 참고용입니다. 런타임에 사용하는 정확한 경로와 필드는 server 코드 및 해당 API 응답을 우선합니다.
  • 사용자·페르소나 중심 분리: 변경 가능한 개인 데이터는 users/{userId}/personas/{personaId} 아래에 연결해 사용자와 페르소나별로 분리합니다.
  • 운영 데이터 금지: 실제 이메일, 대화 내역, 음성 파일, 면접 답변, 토큰, Firebase 서비스 계정은 절대 추가하지 않습니다.
  • 샘플 변경도 계약 변경: 필드·경로를 바꾸면 관련 JSONC, 이 README, 서버 구현을 함께 검토합니다.
  • 자동 시크릿 검사: pull request와 main 브랜치 변경은 TruffleHog 워크플로로 검사합니다. 자격 증명 탐지 시 변경을 중단하고 해당 키를 즉시 폐기·교체합니다.

🛠 기술 스택

Category 기술
Data & Storage Cloud Firestore, Firebase Storage
Schema Reference JSONC 스타일 .json 문서

🗄️ 현재 데이터 계약

아래 구조는 기존 JSONC 샘플과 현재 서버 구현을 함께 대조해 정리한 기준입니다. 모든 경로를 좁은 화면에서도 읽을 수 있도록 계층으로 표현했습니다.

job_postings/{jobPostingId}

users/{userId}
└── personas/{personaId}
    ├── cover_letters/{coverLetterId}
    ├── interview_sessions/{sessionId}
    │   └── questions/{questionId}
    ├── recommendations/{recommendationId}
    └── scrap: [jobPostingId, ...]
  • 사용자users.json: 이메일 등 사용자 기본 정보
  • 페르소나personas.json: 희망 직무, 기술, 역량 분석의 기준 문서
  • 채용공고job_postings.json: 공고 내용, 자격·우대 요건, 근무 조건, 요구 역량
  • 자기소개서cover_letters.json: 강점·경험, 작성 근거, 생성 초안
  • 면접 세션interview_sessions.json: 답변 요약, 종합 피드백, 최종 점수
  • 면접 질문questions.json: 질문 의도, 답변 가이드, 답변 분석
  • 추천recommendations.json: 공고 ID, 추천 점수, 일치·보완·성장 근거
  • 스크랩scraps.json: 페르소나 문서의 공고 ID 배열

샘플과 구현의 차이

recommendations.json의 상단 주석은 현재 구현과 같이 페르소나 하위 컬렉션을 가리킵니다. 반면 기존 README는 이를 최상위 컬렉션으로 설명하고 있었습니다. 이 README는 페르소나 하위 컬렉션을 기준으로 정정합니다.

scraps.json은 최상위 scraps 컬렉션을 예시로 두지만, 현재 서버는 페르소나 문서의 scrap 배열을 읽고 갱신합니다. 따라서 scraps.json은 이전 설계 참고 자료이며, 새 기능 구현이나 데이터 적재에는 서버 구현의 scrap 배열을 사용해야 합니다.

역량 평가 구조 변경

기존에는 evaluations 하위 컬렉션에 질문별 점수를 저장하고 취합했습니다. 현재 이 참조 모델은 해당 하위 컬렉션 대신 페르소나 문서에 최종 역량 결과를 직접 둡니다. 샘플의 competency_scores, competency_reasons, ai_analysis_summary는 이 변경을 설명합니다.

📁 파일 카탈로그

database/
├── users.json               # 사용자 기본 정보 예시
├── personas.json            # 페르소나와 역량 평가 예시
├── job_postings.json        # 채용공고와 요구 역량 예시
├── cover_letters.json       # 자기소개서 예시
├── interview_sessions.json  # 면접 세션·종합 피드백 예시
├── questions.json           # 면접 질문·답변 분석 예시
├── recommendations.json     # 페르소나별 맞춤 공고 추천 예시
├── scraps.json              # 이전 스크랩 컬렉션 설계 예시
├── .gitignore               # 자격 증명·개인 키의 Git 추적 차단 규칙
├── .github/workflows/       # 자동 시크릿 검사 워크플로
└── README.md                # 데이터 계약과 사용 기준

🚀 참조 데이터 사용하기

요구 사항

  • Git
  • JSONC 파일을 열 수 있는 텍스트 편집기
  • Firestore에 적재할 경우 별도의 Firebase 프로젝트와 변환·적재 도구

1. 저장소 내려받기

git clone https://github.com/C4-job-cheat/database.git
cd database

2. 경로와 필드 확인하기

파일의 최상단 주석에서 대상 Firestore 경로를 확인한 뒤, 예시 필드를 검토합니다. 구현 전에는 위의 현재 데이터 계약 및 서버 코드를 함께 확인합니다.

sed -n '1,180p' personas.json
sed -n '1,220p' job_postings.json

3. 애플리케이션에 적용하기

이 레포에는 실행 명령이 없습니다. 필요한 샘플만 복사하고 주석을 제거한 후, 서버가 기대하는 Firestore 문서 경로와 형식으로 변환해 사용합니다. 운영 데이터와 자격 증명은 이 저장소에 넣지 않습니다.

4. 변경 검증하기

문서와 샘플을 수정한 후 공백 오류와 변경 범위를 확인합니다.

git diff --check
git status --short

📚 참조 파일

파일 확인할 내용
personas.json 페르소나·역량 평가 문서와 예시값
job_postings.json 공고·요구 역량·근무 조건 구조
cover_letters.json 자기소개서 입력·생성 결과 구조
interview_sessions.json 면접 세션의 요약·피드백·점수 구조
questions.json 질문별 답변·분석 구조
recommendations.json 페르소나별 추천 점수와 추천 근거
scraps.json 이전 스크랩 컬렉션 설계 참고 자료

About

Job-Cheat Firestore 데이터 계약과 JSONC 목데이터 카탈로그

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors