"당신의 이력서와 채용공고 사이의 '빈틈(Gap)'을 찾아, 딱 맞는 전공 서적을 추천해 드립니다."
채움은 취업 준비생들이 직면하는 "내가 왜 떨어졌는지, 무엇이 부족한지 모르는" 문제를 해결하기 위해 개발된 AI 기반 직무 역량 분석 및 도서 추천 서비스입니다.
사용자는 채용공고(JD) URL과 이력서(PDF)만 입력하면, AI가 두 문서를 비교 분석하여 부족한 기술 역량을 시각화하고, 이를 보완할 수 있는 구체적인 전공 서적의 챕터를 추천받을 수 있습니다.
- 2025.12.19 ~ 2025.12.23.
- 타겟: 자신의 기술적 부족함을 객관적으로 파악하고 싶은 신입/주니어 개발자
- 효과: 막연한 취업 준비에서 벗어나, **"지금 당장 읽어야 할 책"**이라는 구체적인 행동 지침(Action Plan) 획득
- 자유 양식의 PDF 이력서에서 **기술 스택(Skills)**과 프로젝트 경험을 구조화된 데이터로 정밀 추출합니다.
- 사용자가 입력한 채용공고(JD)와 이력서를 LLM이 비교 분석합니다.
- **적합도 점수(0~100)**와 함께, 합격을 위해 보완해야 할 Missing Skills를 도출합니다.
- "Spring Security 인증 부분이 부족하니, '스프링 부트 완벽 가이드'의 15장: 보안 설정을 추천합니다.
- 33만 개의 IT 도서 목차 데이터를 벡터화하여 검색합니다.
Hybrid Cloud Architecture (AWS + On-Premise GPU)
graph TD
User([Web Browser]) -->|HTTPS| AWS[AWS EC2 (Web Server)]
subgraph "AWS Cloud (t2.micro)"
Nginx[Nginx] --> Django[Django API]
Django --> DB[(PostgreSQL)]
Django --> Redis[Redis Queue]
end
subgraph "Local GPU Server"
Ngrok[Ngrok Tunnel]
Inference[FastAPI LLM Server]
end
Redis --> Worker[Celery Worker]
Worker -->|Secure Tunnel| Ngrok
Ngrok --> Inference
├── backend # Django API Server & Celery Worker
├── frontend # Vue.js Client Application
└── inference # FastAPI LLM Serving (Local GPU)- Docker & Docker Compose
- Ngrok (for Local GPU connection)
- Node.js 20+
1. Clone the repository
git clone https://lab.ssafy.com/jumee.frontdev/final-pjt.git
cd final-pjt2. Setup Environment Variables
backend/.env및frontend/.env설정 (API Key 등)
3. Run with Docker Compose
docker-compose up -d --build- Frontend: http://localhost:5173
- Backend: http://localhost:8000
- 문제: AWS EC2(외부)에서 로컬 GPU 서버(내부망)로의 직접 통신 불가
- 해결: Ngrok 터널링을 도입하여 로컬 FastAPI 포트를 공인 URL로 노출, Celery 워커가 이를 호출하도록 구성.
| 팀장 (Backend & AI) | 팀원 (Backend & Frontend) |
|---|---|
| 김민우 | 서주미 |
| Django, RAG, LLM | Django, Vue.js, UI/UX |