Skip to content

AllStackProject/Backend

Repository files navigation

Privideo Backend

조직형 프라이빗 영상 공유 플랫폼 API 서버

banner





주요 기능

  • 👥 조직 / 멤버 관리

    • 조직 생성 및 초대 코드 기반 가입
    • 역할 기반 권한(관리자 / 일반 멤버)
    • 조직 내 멤버 가입/탈퇴, 상태 관리(활성/비활성)
  • 🎬 영상 업로드 & 스트리밍

    • 클라이언트가 S3에 영상을 업로드하기 위한 Presigned URL 발급
    • HLS 인코딩 결과에 대한 HLS Prefix 관리
    • CloudFront + Signed Cookie를 활용한 보안 스트리밍
    • 영상 공개 범위(전체 공개 / 멤버그룹 제한) 및 만료일 설정
  • 📈 시청 이력 & 구간별 분석

    • Redis 기반 시청 세션 관리 (watchSegments, recentPosition 등)
    • 세션 종료 시 종료 시점 및 이탈 관련 정보에 대해 요약 저장
    • MongoDB를 활용한 구간별(세그먼트) 시청 분석 데이터 집계 : 구간별 조회수 및 이탈수
  • 🤖 AI 분석 제공 (Spring AI / Vertex AI Gemini)

    • S3의 원본 영상으로부터 RTZR API를 통해 STT 처리
    • 추출한 텍스트에 대해 요약, 퀴즈, 피드백 결과 생성
    • 생성 결과를 저장해 각 영상의 시청자에게 제공
  • 🧩 관리자 대시보드

    • 조직별 영상별 시청 지표(완료율, 이탈 구간, 연령/성별 분포 등)
    • 필터(기간, 그룹, 카테고리) 기반 조회

🏗 아키텍처

privideo-아키텍처
  • Route53 / Ingress를 통해 privideo-backend로 요청 유입
  • Spring Security + JWT 기반 인증/인가
  • JPA + QueryDSL로 RDB(PostgreSQL) 도메인 모델 관리
  • MongoDB / Redis를 통해 대용량 시청 로그, 세션 정보 관리
  • S3 Presigned URL & CloudFront Signed Cookie를 이용한 안전하고 효율적인 HLS 스트리밍 연동

🔖 ERD

FISA

🗂 Repository 구조

도메인 단위로 나누고, 각 도메인 하위에 controller / service / repository / dto / entity를 두는 형태

privideo-backend
├── src
│   ├── main
│   │   ├── java
│   │   │   └── app.allstackproject.privideo
│   │   │       ├── PrivideoApplication.java
│   │   │       ├── domain
│   │   │       │   ├── admin
│   │   │       │   ├── comment
│   │   │       │   ├── history
│   │   │       │   ├── home
│   │   │       │   ├── member
│   │   │       │   ├── notice
│   │   │       │   ├── organization
│   │   │       │   ├── quiz
│   │   │       │   ├── scrap
│   │   │       │   ├── user
│   │   │       │   └── video
│   │   │       ├── global
│   │   │       │   ├── config        
│   │   │       │   ├── exception
│   │   │       │   ├── response
│   │   │       │   ├── security
│   │   │       │   ├── util
│   │   │       │   └── validator
│   │   │       └── shared
│   │   │           ├── entity       
│   │   │           └── enums        
│   │   └── resources
│   │       ├── application.yml
│   │       ├── application-local.yml
│   │       └── lua/
│   └── test
│       ├── java
│       │   └── app.allstackproject.privideo
│       │       ├── PrivideoApplicationTests.java
│       │       └── domain
│       │           ├── admin
│       │           ├── comment
│       │           ├── history
│       │           ├── home
│       │           ├── organization
│       │           ├── scrap
│       │           ├── user
│       │           └── video
│       └── resources
│           ├── summarySample.txt
│           ├── quizSample.txt
└──         └── feedbackSample.txt

About

프라이빗 영상 공유 플랫폼 Backend Repository

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages