Skip to content

B1A4-NMM/Remotion-Server

Repository files navigation

Remotion API Server

Remotion 프로젝트의 백엔드 API 서버입니다. 사용자의 일기를 분석하여 감정, 관계, 활동 등을 추적하고 다양한 AI 기반 기능을 제공합니다.

  • API Base URL: https://api.remotion.online/
  • Swagger API Docs: https://api.remotion.online/docs

주요 기능

  • 📝 일기 작성, 조회, 수정, 삭제 (CRUD)
  • 🤖 AI 기반 일기 분석:
    • 주요 감정, 인물, 활동, 할 일(Todo) 추출
    • 문장 단위 벡터화를 통한 의미 기반 검색 (RAG)
    • 기분 전환을 위한 맞춤형 루틴 제안
  • 👥 관계 분석:
    • 일기 내용 기반 인물별 친밀도 및 감정 분석
    • 관계 그래프 시각화 데이터 제공
  • 📊 감정 통계:
    • 기간별 감정 변화 시각화
    • 주요 감정 요약 및 경고 (불안, 우울, 스트레스)
  • 🔔 푸시 알림:
    • 작년 오늘 일기 리캡, 루틴 추가, 캐릭터 변경 등 다양한 이벤트 알림
  • 🖼️ 사진 모아보기:
    • 일기에 첨부된 모든 사진을 최신순으로 모아보는 무한 스크롤 기능

아키텍처

스크린샷 2025-06-24 132102


기술 스택 (Tech Stack)

NPM NestJS TypeORM Swagger MySQL AWS TypeScript

Backend

Database

  • Primary (RDB): MySQL
  • Vector DB: Qdrant - 일기 RAG 검색

AI / LLM

Cloud & DevOps

Others

  • Push Notifications: Web Push API
  • Scheduling: NestJS Schedule (Cron Jobs)

시작하기

1. 저장소 복제

git clone https://github.com/B1A4-NMM/Remotion-Server.git
cd Remotion-Server

2. 의존성 설치

npm install

3. 환경 변수 설정

프로젝트 루트에 .env 파일을 생성하고 아래 내용을 채워야 합니다. 민감한 정보가 포함되어 있으므로 주의하여 관리하세요.

# Application
ENVIRONMENT=develop
PORT=3000

# Database (MySQL)
DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=
DB_DATABASE=remotion

# Vector DB (Qdrant)
QDRANT_URL=http://localhost:6333

# AWS Credentials
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_REGION=<for Nova Pro/Lite>
S3_BUCKET_NAME=<your bucket name>
AWS_S3_REGION=<for S3>
AWS_SONNET_REGION=<for sonnet>

# AI/Parser Model Endpoints
EMBED_MODEL_URL=<dual encoder model URL>
RERANK_MODEL_URL=<corss encoder model URL>
SIMCSE_MODEL_URL=<한국어 임베딩 모델 URL>
CLUSTER_MODEL_URL=<클러스터링 모델 URL>
PARSER_MODEL_URL=<문장 파싱 모델 URL>

# JWT Authentication
JWT_SECRET=your_super_secret_jwt_key
JWT_EXPIRATION_TIME=24h
FRONTEND_URL=<for frontend>

# Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=

# Kakao OAuth
KAKAO_CLIENT_ID=
KAKAO_REDIRECT_URI=

# Web Push (VAPID Keys)
VAPID_SUBJECT=mailto:example@example.com
VAPID_PUBLIC_KEY=
VAPID_PRIVATE_KEY=

# Search Parameters
SEARCH_KEYWORD_MIN_LENGTH=5
SEARCH_THRESHOLD=0.4

#THRESHOLD
ACTIVITY_THRESHOLD=
TARGET_THRESHOLD=
WARNING_THRESHOLD=<검사 경고 임계값>
SEARCH_THRESHOLD=<RAG 검색 필터링 임계값>

4. 서버 실행

npm run start:dev

배포 자동화 (Deployment)

이 프로젝트는 AWS CodeDeploy를 이용한 배포 자동화가 적용되어 있습니다. main 브랜치에 Push 또는 Merge가 발생하면 GitHub Actions 워크플로우가 트리거되어 자동으로 배포를 진행합니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages