관리 메뉴

백엔드 개발자 블로그

RendezView 본문

SSAFY/관통프로젝트

RendezView

backend-dev 2025. 4. 15. 13:41

 

영상을 활용한 AI 과실 비율 리포트

해당 리포트를 활용하여 변호사와 쉽고 빠른 상담

 

✔️구현 사항

  • 영상만 업로드하면 자동 의뢰 등록 및 AI 리포트 작성
  • 사용자가 변호사를 검색하는 방식이 아닌 변호사가 의뢰에 답글을 달아 어필하는 방식
  • 실시간 알림 제공 (변호사 답글, 의뢰 등록, 상담 예약 확인)

✔️담당 역할

  • 소셜 로그인을 통한 회원 관리 API 개발
  • 의뢰 CRUD API 개발
  • 상담 CRUD API 개발
  • fcm을 통한 실시간 알림
  • SSE를 통한 실시간 데이터 최신화
  • AI 리포트 CRUD API 개발
  • 메세징 큐를 통한 AI 서버 비동기 논 블로킹 처리

✔️기술 스택

Spring Boot, MySQL, Nginx, Jenkins, Docker, AWS, GitLab, Jira

✔️기술 선정 이유

  • Spring Boot : REST API 개발, 트랜잭션 처리
  • MySQL : 위치데이터, 관계형 데이터 처리
  • Nginx : 정적 컨텐츠 캐싱, 리버스 프록시
  • AWS : 배포 환경
  • Jenkins : CI/CD
  • Docker : 클라우드 환경 세팅
  • GitLab : 소스코드 공유 및 협업 툴
  • Jira : 프로젝트 일정 및 업무 상황 공유
  • React: CSR을 통한 서버 과부하 방지
  • Oauth2.0 : 소셜 로그인
  • RabbitMQ : 비동기 논 블로킹 처리 및 알람
  • Celery : 비동기 논 블로킹 처리 관리
  • fast api : 비동기 처리, 경량화

✔️프로젝트 성과

  • 대외적인 성과가 있다면 기술해주세요. (정성/정량 무관)
  • fcm을 통한 실시간 알림 및 리소스 부하 개선
  • RabbitMQ를 통한 논 블로킹 처리를 통한 리소스 관리 개선
  • SSE를 통한 데이터 최신화
  • Presigned URL를 통한 영상 업로드 부하 문제 개선
  • 프로젝트 내에서 발생했던 문제를 해결/극복해본 내용을 기술해주세요.
  • 서버 부하가 많음
    • Nginx로 정적 컨텐츠 제공하여 서버 부담 감소
    • prisinged url를 통해 영상 업로드를 서버에서 할 필요 없어짐
    • RabbitMQ를 통해 리소스 부하 부담 감소
    • fcm을 통한 connection 부하 감소
  • 실시간 데이터
    • SSE를 통해 데이터 실시간화
  • 프로젝트를 진행하며 배운 점 / 학습한 점을 기입해주세요.
  • Nginx로 정적 컨텐츠 제공하는 방법 학습
  • prisinged url를 통해 프론트에서 바로 AWS S3에 영상 업로드 하는 방법 학습
  • RabbitMQ를 통해 AI 서버와 백엔드 서버 분리하는 방법 학습
  • fcm을 통해 알림 보내는 방법 학습
  • SSE를 통해 실시간 데이터 보장하는 방법 학습