합격 자기소개서를 학습하여 새로운 자기소개서를 평가하는 웹 애플리케이션입니다.
- 합격 자기소개서 관리: 합격한 자기소개서를 업로드하고 저장
- AI 평가 모델 학습: 저장된 합격 자기소개서를 분석하여 평가 기준 생성
- 자기소개서 평가: 업로드한 자기소개서를 AI 모델로 평가
- 평가 결과 시각화: 점수, 피드백, 개선 사항 제공
- 길이 점수 (20점): 합격 자기소개서의 평균 길이를 기준으로 평가
- 키워드 점수 (30점): 합격 자기소개서에서 추출한 핵심 키워드 매칭도
- 구조 점수 (30점): 문단 구조, 구체적 경험 언급, 수치 데이터 포함 여부
- 유사도 점수 (20점): 합격 자기소개서와의 텍스트 유사도 (TF-IDF 기반)
# 가상환경 생성 (선택사항)
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 패키지 설치
pip install -r requirements.txt# 백엔드 서버 실행
python main.py
# 웹 브라우저에서 http://localhost:8000 접속또는
uvicorn main:app --reload-
합격 자기소개서 등록
- "합격 자기소개서 관리" 탭에서 합격한 자기소개서를 등록
- 제목, 회사명, 직무, 내용을 입력하여 추가
- 여러 개의 합격 자기소개서를 등록할수록 평가 정확도가 향상됩니다
-
자기소개서 평가
- "자기소개서 평가" 탭에서 평가받을 자기소개서를 입력
- "평가하기" 버튼 클릭
- 평가 결과(점수, 피드백, 개선 제안) 확인
-
통계 확인
- "통계" 탭에서 저장된 합격 자기소개서 수와 평가 수행 횟수 확인
.
├── main.py # FastAPI 메인 서버
├── models.py # Pydantic 모델 (API 요청/응답 스키마)
├── ai_evaluator.py # AI 평가 모델 (평가 로직)
├── database.py # 데이터베이스 모델 및 연결
├── requirements.txt # Python 패키지 목록
├── static/ # 정적 파일 (CSS, JS)
│ ├── css/
│ │ └── style.css
│ └── js/
│ └── app.js
├── templates/ # HTML 템플릿
│ └── index.html
├── uploads/ # 업로드된 파일 저장 (자동 생성)
│ ├── passed/ # 합격 자기소개서
│ └── to_evaluate/ # 평가 대상 자기소개서
└── resume_evaluator.db # SQLite 데이터베이스 (자동 생성)
- 백엔드: FastAPI, SQLAlchemy, SQLite
- AI/ML: scikit-learn (TF-IDF, 코사인 유사도)
- 프론트엔드: HTML, CSS, JavaScript (Vanilla JS)
- 데이터베이스: SQLite
GET /: 메인 웹 페이지POST /api/passed-resumes: 합격 자기소개서 추가GET /api/passed-resumes: 합격 자기소개서 목록 조회DELETE /api/passed-resumes/{id}: 합격 자기소개서 삭제POST /api/evaluate: 자기소개서 평가GET /api/stats: 통계 정보 조회