DreamMap

Fullstack

이력서 분석 및 로드맵 제안 서비스

2025.07 ~ 2025.08Fullstack Developer4인 팀

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

DreamMap 서비스 화면

프로젝트 개요

목표
이력서 업로드부터 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. 1.보호 API 요청 흐름 정리
  2. 2.Axios 인터셉터 구성
  3. 3.인증 토큰 자동 첨부
  4. 4.401 공통 처리
  5. 5.세션 초기화·로그인 이동 연결

Axios 요청 인터셉터에서 토큰을 자동 첨부하고, 401 응답을 공통 처리해 세션을 초기화한 뒤 로그인 페이지로 이동하도록 구성했습니다.

3. 설계 요구와 구현 결과

DreamMap · 인증 토큰과 세션 만료를 공통 요청 계층으로 통합 비교
항목설계 전 요구구현 결과
토큰 전송API마다 공통 인증 처리가 필요요청 인터셉터에서 자동 첨부
세션 만료상태·화면 이동의 일관성 필요401 → 세션 초기화 → 로그인 이동

해결 결과

이력서와 로드맵 화면에서 공통된 인증 요청·만료 처리 흐름을 사용할 수 있게 했습니다.

프로젝트 성과 및 결과

  • 이력서 업로드·버전별 분석·로드맵 대시보드 구현
  • auth·resume·roadmap 도메인별 Redux 상태 구성
  • Axios 토큰 전송·401 응답 공통 처리
  • 이력서 CRUD 일부와 입력 검증·예외 처리 보완

프로젝트 회고

기술적 한계와 개선 방안

한계·아쉬운 점
문서 텍스트 추출 결과와 AI 분석 결과를 같은 기준으로 평가하기는 어렵습니다.
개선 방향
추출 누락 여부와 리뷰의 유용성을 구분한 평가 항목을 정의하고 업로드·분석 실패 상태를 함께 검증할 계획입니다.
한계·아쉬운 점
세션 만료와 진행 중인 문서 작업이 겹칠 때 사용자 흐름을 더 세밀하게 다룰 필요가 있습니다.
개선 방향
분석 도중 401·네트워크 오류·재로그인을 시나리오로 검증하고 작업 복구 정책을 정리할 계획입니다.