DreamMap
Fullstack이력서 분석 및 로드맵 제안 서비스
2025.07 ~ 2025.08Fullstack Developer4인 팀
이력서를 업로드하면 AI가 점수·리뷰·리라이팅을 제공하고, 지원자의 상황에 맞춘 커리어 로드맵까지 제안하는 이력서 분석 웹 서비스입니다.

프로젝트 개요
- 목표
- 이력서 업로드부터 AI 분석·리라이팅, 개인별 커리어 로드맵 관리까지 연결하는 서비스를 구현했습니다.
- 배경
- 이력서 피드백을 받아도 수정본과 이전 분석을 함께 관리하거나 다음 학습 행동으로 연결하기 어렵습니다. 버전별 분석과 실행 가능한 로드맵을 한 화면에서 관리할 필요가 있었습니다.
- 주요 기능
- 사용자가 PDF 또는 텍스트 형태로 이력서를 업로드하면, Azure Document Intelligence로 텍스트를 추출하고 Gemini로 점수·리뷰·리라이팅을 수행합니다.
- 이력서 버전별 분석 결과를 한 화면에서 관리하고, 즐겨찾기·상세 보기·버전 관리 기능을 제공합니다.
- 사용자 프로필과 이력서를 바탕으로 학습·취업 로드맵을 생성하고, 달성 여부를 체크리스트/타임라인 형태로 시각화합니다.
역할·팀 구성
팀 내 역할 분담 · 4인 팀
- Fullstack · 본인
- 대시보드·업로드·분석·로드맵 UI, 상태·인증 처리, Resume API 일부
- 팀원 · 전체 4인 구성
- 화면·서버·AI 기능을 분담하고 문서 추출·분석 및 데이터 처리 흐름 연동
담당 역할
Fullstack Developer
대시보드 프론트엔드를 구현하고 기존 Express·MongoDB 코드베이스에서 이력서 API 일부와 예외 처리를 보완했습니다.
대시보드 UI 및 상태 관리 구현
- UI·페이지 구현
Vite + React + TypeScript 기반 대시보드 UI와 이력서 업로드/분석/로드맵 페이지 구현
- 상태 관리 설계
Redux Toolkit 상태(auth, resume, roadmap) 설계
Axios 인증 흐름 정리
- 인증 토큰 자동 첨부
Axios 인터셉터를 구성해 인증 토큰을 요청마다 자동으로 첨부
- 401 응답 공통 처리
401 응답을 공통 처리해 세션 초기화 및 로그인 페이지로 리다이렉트
Resume CRUD API 구현 및 보완
- CRUD API 구현·수정
기존 Express + MongoDB 코드베이스에서 이력서(Resume) CRUD API 일부 구현·수정
- 입력 검증·예외 처리 보완
입력 검증 및 예외 처리 보완에 기여
사용 기술 & 이유 & 구현
React · TypeScript · Redux Toolkit
- 선택 이유
- 인증, 이력서 버전, 로드맵처럼 여러 화면에서 공유하는 데이터를 구분해 관리하기 위해 사용했습니다.
- 구현 내용
- 대시보드 페이지와 auth·resume·roadmap 상태를 구성했습니다.
Axios
- 선택 이유
- API마다 인증 토큰과 세션 만료 처리를 반복하지 않도록 사용했습니다.
- 구현 내용
- 요청 인터셉터에서 토큰을 첨부하고 401 응답은 세션 초기화와 로그인 이동으로 처리했습니다.
Express · MongoDB
- 선택 이유
- 기존 Node.js API와 이력서 데이터 구조를 유지하며 기능을 확장하기 위해 사용했습니다.
- 구현 내용
- Resume CRUD API 일부 구현·수정과 입력 검증·예외 처리에 기여했습니다.
Azure Document Intelligence · Gemini
- 선택 이유
- PDF의 텍스트 추출과 추출한 이력서의 분석·리라이팅 역할을 분리한 서비스 구조입니다.
- 구현 내용
- 서비스에서 문서를 텍스트로 추출한 뒤 점수·리뷰·리라이팅·로드맵을 생성합니다. 본인은 해당 결과를 보여주는 화면과 상태·API 연동을 담당했습니다.
문제 해결 사례
사례 1 · 설계 과제인증 토큰과 세션 만료를 공통 요청 계층으로 통합
1. 문제 분석
- 설계 요구
- 이력서·로드맵 등 보호 API를 사용하는 여러 화면에서 토큰 전송과 세션 만료 후 처리가 일관되게 동작해야 했습니다.
- 원인
- 요청별로 인증 처리를 작성하면 같은 책임이 여러 화면에 분산됩니다.
- 추가 확인 사항
- 401 이후 Redux 인증 상태와 로그인 화면 이동을 함께 처리해야 합니다.
2. 개선 과정
- 1.보호 API 요청 흐름 정리
- 2.Axios 인터셉터 구성
- 3.인증 토큰 자동 첨부
- 4.401 공통 처리
- 5.세션 초기화·로그인 이동 연결
Axios 요청 인터셉터에서 토큰을 자동 첨부하고, 401 응답을 공통 처리해 세션을 초기화한 뒤 로그인 페이지로 이동하도록 구성했습니다.
3. 설계 요구와 구현 결과
| 항목 | 설계 전 요구 | 구현 결과 |
|---|---|---|
| 토큰 전송 | API마다 공통 인증 처리가 필요 | 요청 인터셉터에서 자동 첨부 |
| 세션 만료 | 상태·화면 이동의 일관성 필요 | 401 → 세션 초기화 → 로그인 이동 |
해결 결과
이력서와 로드맵 화면에서 공통된 인증 요청·만료 처리 흐름을 사용할 수 있게 했습니다.
프로젝트 성과 및 결과
- 이력서 업로드·버전별 분석·로드맵 대시보드 구현
- auth·resume·roadmap 도메인별 Redux 상태 구성
- Axios 토큰 전송·401 응답 공통 처리
- 이력서 CRUD 일부와 입력 검증·예외 처리 보완
프로젝트 회고
기술적 한계와 개선 방안
- 한계·아쉬운 점
- 문서 텍스트 추출 결과와 AI 분석 결과를 같은 기준으로 평가하기는 어렵습니다.
- 개선 방향
- 추출 누락 여부와 리뷰의 유용성을 구분한 평가 항목을 정의하고 업로드·분석 실패 상태를 함께 검증할 계획입니다.
- 한계·아쉬운 점
- 세션 만료와 진행 중인 문서 작업이 겹칠 때 사용자 흐름을 더 세밀하게 다룰 필요가 있습니다.
- 개선 방향
- 분석 도중 401·네트워크 오류·재로그인을 시나리오로 검증하고 작업 복구 정책을 정리할 계획입니다.