Back-End Developer
개발 2025.12.01 ~ 2025.12.23
🔗 Links
https://github.com/today-book
📜 프로젝트 개요
프로젝트 소개
“오늘 뭐 읽지?”는 사용자의 기분·상황·감정이 담긴 입력을 분석해,
의미적으로 가장 적합한 도서를 추천하는 Embedding 기반 AI 도서 추천 서비스 입니다.
주요 기능
- AI 기반 도서 추천
- 사용자 프롬프트와 선택지를 LLM으로 분석해 감정·의미 정보를 정규화
- 임베딩 기반 벡터 검색을 수행하여 도서 후보 추출
- 감정 분류 결과와 유사도 점수를 결합해 도서를 재랭킹하고, 사용자 감정 맥락에 맞는 추천 결과 제공
- RAG를 활용해 추천 도서에 대한 이유 설명 문장 생성
- 사용자 기능
- 카카오 OAuth를 통한 간편 회원가입
- 내 책장 기능을 통해 추천받은 도서 목록을 저장 및 관리
- 추천 결과를 카카오톡 공유 기능을 통해 다른 사용자에게 손쉽게 공유
- 데이터 실시간 수집 및 처리
- CSV, Naver API, 알라딘 API를 통한 데이터 수집
- 수집된 데이터에 대해 형식 오류 및 비정상 데이터 필터링, 파싱 과정을 통한 일관된 구조로 정제
- 중복 데이터 검증을 통해 데이터 정합성 확보 및 배치 저장 방식을 적용해 대량 데이터 처리 성능 확보
- 도서 데이터 임베딩
- Vertex AI Embedding 모델을 활용해 도서 데이터를 벡터로 변환하고, OpenSearch에 저장
- Spring Batch를 통해 대량 도서 데이터를 배치 단위로 임베딩 처리하는 데이터 파이프라인 구현
아키텍처

적용 기술
Backend
| 기술 |
사용 목적 |
| Spring Security |
Gateway 중심의 인증·인가 처리 및 카카오 OAuth2 로그인 흐름 구현 |
| Spring Batch |
대량 도서 데이터 임베딩 처리를 위해 배치 실행 이력, 재시작, 상태 관리가 가능한 구조를 도입 |
| Spring AI / Vertex AI |
사용자 입력 해석, 임베딩 생성 및 추천 결과 설명(RAG) 생성 |
Database
| 기술 |
사용 목적 |
| PostgreSQL |
사용자·도서 등 핵심 도메인 데이터의 안정적인 저장 |
| OpenSearch |
임베딩 벡터 저장 및 벡터 유사도 기반 도서 검색 |
| Redis |
인증 상태 및 공유 토큰 등 임시 데이터의 빠른 조회·관리 |