-
Notifications
You must be signed in to change notification settings - Fork 0
Description
MySQL를 활용하여 구현
-
DB 테이블 설계
-
id (Primary Key, 자동 증가 번호)
-
file_name (파일 이름, 예: 행정기본법.pdf)
-
file_type (파일형: pdf, docx, png)
-
s3_url (S3에 저장된 파일의 고유 경로)
-
extracted_text (파싱이나 OCR로 추출해낸 문서 내의 텍스트, MySQL의 LONGTEXT 타입 권장)
-
created_at (업로드 날짜 및 시간)
-
백엔드(FastAPI)와 MySQL 연결
-
AWS 환경변수를 .env로 저장한 것처럼 DB 접속 정보도 .env에 저장
-
파이썬에서 MySQL과 통신하기 위해 SQLAlchemy와 pymysql(또는 aiomysql) 라이브러리 설치
-
ocr 서버 (+ 파싱 서버) 파일에 DB와 연결하는 세팅 코드 추가
-
텍스트 추출 결과 저장 로직
-
OCR 서버: 추출 완료 -> DB에 저장 -> 프론트엔드로 응답
-
파싱 서버:
-
목록 조회를 위한 API 생성 (GET)
-
최근 문서 목록에 정보를 반환할 전용 API (예: GET /api/documents)
-
id, file_name, file_type, created_at 같은 정보들을 리스트 형태로 반환
-
문서 조회를 위한 API 생성 (GET)
-
사용자가 최근 문서 목록에서 특정 문서를 클릭했을 때, 그 문서의 추출된 텍스트를 가져오는 API (예: GET /api/documents/{id}
-
클릭된 문서의 id를 받아 MySQL에서 해당 extracted_text를 조회해 프론트엔드로 전송
-
프론트엔드 연동
-
페이지가 열릴 때 목록 조회 API를 호출해 실제 DB 데이터로 최근 목록 사이드바를 구성
-
목록의 항목을 클릭하면 문서 조회 API를 호출하여 중앙 뷰어 화면에 텍스트를 띄우도록 상태 업데이트