Skip to content

문서 데이터베이스 구현 #29

@SJ020709

Description

@SJ020709

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에 저장 -> 프론트엔드로 응답

  • 파싱 서버:

Image
  • 목록 조회를 위한 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를 호출하여 중앙 뷰어 화면에 텍스트를 띄우도록 상태 업데이트

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions