Skip to content

네이버 카페 데이터와 RO(Repair Order)정보 간의 정보 분석 시스템(산학연계SW프로젝트, 대학총장상)

License

Notifications You must be signed in to change notification settings

SANHAK-HYUNDAI/sanhak-backend-fast-api

Repository files navigation

Sanhak Backend FastAPI

Purpose

  • 대용량 파일 업로드를 위한 비동기 API 구현
  • 자연어 처리를 통해 네이터 카페 data와 repair data를 유사도 높은 DATA와 서로 맵핑
  • 유사도 연결한 데이터를 대시보드에 출력하기 위해서 DB에 DATA 적재
  • CQRS pattern에서 command 역할인 고비용의 작업(유사도 분석, 대량의 data 저장) 처리 sanhak-st

Performance

  • 콜백, 람다와 같은 함수형 프로그래밍 기법을 사용하여 확장성과 유지보수성을 고려
    • '무엇'보다는 '어떻게' 데이터를 처리할 것인지에 집중하는 기능 설계
  • 대용량 데이터의 빠른 유사도 분석을 위해서 멀티 프로세스 모듈 개발
    • 확장성, 재사용성 높은 모듈 개발을 위해서 핵심 로직 및 환경변수(유사도 분석 로직, cpu core 수)를 변경할 수 있도록 구현
    • 멀티 프로세스 동작을 지원하여 하드웨어 환경에 따라서 추가적인 성능 향상을 기대 가능
      • process pool size : 4 --> 2.5배 이상의 시간 단축 확인
  • bulk insert(update)를 이용한 대량의 정보 저장 효율 향상
    • 단일 insert 대비 2.6배의 성능 향상

Data Flow

ca_data_flow_chart drawio

How to use

  1. 파이썬 모듈 일괄 설치
pip install -r requirements.txt
  1. konlpy mecab 설치

설치하기 - KoNLPy 0.4.3 documentation

  1. 로컬에서 fast api 실행
uvicorn --reload main:app
uvicorn --reload --host 127.0.0.1 --port 8080 main:app

Database Setting(ERD)

sanhak-erd-re

Database Init DDL File Download

Download : init.zip

Skill Set

Backend

  • fastapi
  • uvicorn
  • scikit-learn
  • loguru
  • pandas
  • nltk
  • konlpy
  • mecab
  • aiomysql
  • openpyxl

Database

  • mysql

About

네이버 카페 데이터와 RO(Repair Order)정보 간의 정보 분석 시스템(산학연계SW프로젝트, 대학총장상)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published