AI 기반 영화 줄거리 생성과 유저 작성 시나리오 열람 기능을 제공하는 웹 플랫폼입니다.
프론트엔드는 React, 백엔드는 Spring Boot + Flask + MySQL, AI 생성기는 Flask와 HuggingFace 모델로 구성되어 있습니다.
| 구성 요소 | 설명 | 포트 / 위치 |
|---|---|---|
| frontend | React 기반 프론트엔드 | http://localhost:3000 |
| backend | Spring Boot 기반 REST API 서버 | http://localhost:8080 |
| flask (AI 서비스) | Flask 기반 BLIP + Mistral AI 생성기 | http://localhost:5000 |
| db (MySQL) | 포스터 및 유저 데이터 저장용 DB | 컨테이너 내부: 3306 호스트: 3307 ← 로컬 충돌 방지용 |
| redis | 이메일 인증 및 확인용 Redis 서버 | localhost:6379 |
-
프론트엔드:
posterplot_frontend/.env- 예:
REACT_APP_BACKEND_URL=http://localhost:8080
- 예:
-
AI 서비스:
ai_service/.env- 예:
HF_TOKEN(HuggingFace API 토큰) 등
- 예:
REACT_APP_BACKEND_URL=http://localhost:8080npm installnpm start- JDK 17 버전으로 프로젝트를 설정
- 프로젝트 생성
- VM 인스턴스 생성
- IAM 및 관리자 > 서비스 계정 > 계정 클릭 후 키 발급
- 서비스 계정 > 권한 > 저장소 관리자, 저장소 개체 관리자 추가
- 버킷 생성 > src/main/resources/gcp-keys/ 안에 키 저장 후 실행
- https://myaccount.google.com/security 에 접속하여 2단계 인증 활성화
- 앱 비밀번호를 생성하여 SMTP 인증용 비밀번호 발급
- application.properties에
spring.mail.username,spring.mail.password수정
- 터미널 또는 명령 프롬프트에서 다음 명령어를 실행합니다.
./gradlew build- 다음 명령어로 애플리케이션을 실행합니다.
./gradlew bootRunposterplot_ai.py는 Flask 기반 AI 생성기 서버로, BLIP 및 Mistral 모델을 사용합니다.
-
Python 3.x 권장
-
가상환경(venv) 생성 및 활성화 (권장)
python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
pip install --upgrade pip
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu
pip install transformers pillow requests flask flask-cors mtranslate python-dotenvhttps://huggingface.co/ 접속 후 Access Token Read 로 발급
.env 폴더 속 HF_TOKEN 키 값 수정
python posterplot_ai.py