- 목표: AI 기반 문서 분석 및 질의응답 서비스 MVP
- 기간: 6주 (2025-05-28 ~ 2025-07-09)
- 기술 스택: FastAPI + React + PostgreSQL + OpenAI API
- FastAPI 프로젝트 초기 구조 생성
- Python 가상환경 설정
- requirements.txt 작성
- 기본 API 구조 및 라우터 설정
- 개발환경 설정 (Docker, .env)
- PostgreSQL + pgvector 설치 및 설정
- 데이터베이스 스키마 생성 (users, projects, documents, embeddings, chat_history)
- SQLAlchemy 모델 정의
- 데이터베이스 마이그레이션 설정 (Alembic)
- JWT 기반 인증 시스템 구현
- 사용자 회원가입 API
- 사용자 로그인 API
- 인증 미들웨어 구현
- 비밀번호 해싱 (bcrypt)
- 파일 업로드 엔드포인트 구현
- 파일 검증 (PDF, TXT, 10MB 제한)
- 로컬 파일 저장 시스템
- 문서 메타데이터 DB 저장
- 업로드 API 테스트
- OpenAI API 클라이언트 설정
- GPT-3.5-turbo 채팅 완성 API 연동
- text-embedding-3-small 임베딩 API 연동
- API 키 관리 및 환경 변수 설정
- API 에러 핸들링
- PyPDF2를 사용한 PDF 텍스트 추출
- TXT 파일 읽기 기능
- 텍스트 전처리 (클리닝, 정규화)
- 문서 청킹 (chunk 분할) 구현
- 추출된 텍스트 DB 저장
- 문서 청크 임베딩 생성
- pgvector에 임베딩 저장
- 유사도 검색 쿼리 구현
- 임베딩 인덱스 최적화
- RAG 질의응답 로직 구현
- 관련 문서 검색 및 컨텍스트 생성
- GPT 프롬프트 엔지니어링
- 답변 생성 및 출처 표시
- 채팅 기록 저장
- Create React App + TypeScript 설정
- Tailwind CSS 설정
- 라우팅 설정 (React Router)
- API 클라이언트 설정 (Axios)
- 상태 관리 설정 (Context API 또는 Zustand)
- 로그인 페이지 구현
- 회원가입 페이지 구현
- 인증 상태 관리
- 보호된 라우트 구현
- 사용자 프로필 UI
- 프로젝트 목록 사이드바
- 프로젝트 생성 모달
- 프로젝트 전환 기능
- 프로젝트 설정 및 삭제
- 드래그 앤 드롭 파일 업로드
- 파일 업로드 진행률 표시
- 업로드된 문서 목록 표시
- 문서 삭제 기능
- 파일 크기/형식 검증 UI
- 채팅 인터페이스 구현
- 메시지 입력 및 전송
- 답변 스트리밍 표시
- 출처 문서 링크 표시
- 채팅 기록 표시
- 프론트엔드-백엔드 API 연동
- 에러 핸들링 및 로딩 상태
- CORS 설정
- API 응답 최적화
- E2E 테스트 시나리오 작성
- 파일 업로드-분석-질의 전체 플로우 테스트
- 성능 테스트 (응답시간 5초 이내)
- 한국어/영어 질의응답 정확도 테스트
- 프로덕션 환경 설정
- 도메인 및 HTTPS 설정
- 베타 테스터 모집 (20명)
- 사용자 피드백 수집
- 문서 업로드 성공률 95% 이상 달성
- 질의응답 응답시간 5초 이내 달성
- 한국어 답변 정확도 70% 이상 달성
- 사용자 만족도 3.5/5.0 이상 달성
- "다시 사용하고 싶다" 80% 이상 달성
- 명확한 개선점 피드백 수집 완료
- OpenAI API 제한: 대안 모델 준비 (Anthropic Claude)
- 벡터 검색 성능: 인덱스 최적화 및 쿼리 튜닝
- 파일 처리 오류: robust한 에러 핸들링 구현
- 개발 지연: 핵심 기능 우선 구현, 부가 기능은 연기
- 통합 이슈: 주간 단위 통합 테스트 실시
- 낮은 정확도: 프롬프트 엔지니어링 개선
- 사용성 문제: 조기 사용자 테스트 실시
작성일: 2025-05-28
업데이트: 개발 진행에 따라 지속 업데이트