Skip to content

ValleyJin/StoryMap_Client

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StoryMap_Client 프로젝트

📌 1. 목적

StoryMap_Client는 Tokamak Network의 GemSTON Fantasy 세계관에서 스토리 크리에이터들이 자신의 이야기를 StoryMap 프로젝트에 자동 등록할 수 있도록 돕는 클라이언트 애플리케이션입니다.

🔹 StoryMap 프로젝트와의 관계

사용자는 자신의 GitHub 저장소에 md 파일을 작성하기만 하면, GemSTON Fantasy의 StoryMap에 스토리 요약본 및 원본 읽기 URL이 자동 등록됩니다.
StoryMap 프로젝트는 Firestore를 활용하여 StoryMap_Client에서 전송된 데이터를 저장하고, Tokamak Network의 커뮤니티 맴버들이 쉽게 접근할 수 있도록 관리합니다.
결과적으로, GemSTON Fantasy StoryMap에서 모든 스토리가 하나의 세계관으로 통합되며, 사용자들은 서로의 이야기에 쉽게 접근할 수 있습니다.


📌 2. 설치 방법 (Command Line)

이 프로젝트를 실행하려면 Python 3.10 이상이 필요합니다.

1️⃣ Conda 가상 환경 설정

# Conda가 설치되어 있는지 확인
conda --version

# Conda 환경 생성 (Python 3.10 기반)
conda create --name storymap_client python=3.10

# 가상 환경 활성화
conda activate storymap_client

2️⃣ StoryMap_Client 프로젝트 클론

git clone https://github.com/username/StoryMap_Client.git
cd StoryMap_Client

3️⃣ 필수 패키지 설치

pip install -r requirements.txt

4️⃣ 환경 변수 설정 (.env 파일 생성)

프로젝트 루트에 .env 파일을 생성하고, 아래와 같이 설정합니다.

GITHUB_TOKEN=your_github_token
OPENAI_API_KEY=your_openai_api_key
STORYMAP_API_URL=https://storymap-api.yourservice.com
FIREBASE_CREDENTIALS_PATH=path_to_your_firebase_credentials.json

📌 3. 파일 구조 및 각 파일 간의 연계 흐름

📦 StoryMap_Client
├── 📂 scripts                      # 서비스 기능별 주요 파일
│   ├── fetch_github.py            # ✅ GitHub에서 md 파일 목록을 가져옴 (사용자 인증 포함)
│   ├── process.py                 # ✅ md 파일을 OpenAI API로 요약 및 첫 번째 이미지 URL 추출
│   ├── upload_to_firestore.py      # ✅ StoryMap 프로젝트 API로 데이터 전송
├── 📂 config                       # 환경 설정 관련 파일
│   ├── .env                        # ✅ API 키 및 환경 변수 저장
│   ├── firebase_credentials.json   # ✅ Firestore 인증 키 (선택 사항)
├── 📂 tests                        # 각 기능별 테스트 코드
│   ├── test_github_fetch.py        # ✅ GitHub API 및 사용자 인증 테스트
│   ├── test_openai_summary.py      # ✅ OpenAI 요약 기능 테스트
│   ├── test_firestore_upload.py    # ✅ StoryMap API 전송 테스트
├── 📜 register.py                   # ✅ Entry Point (스토리 등록 프로세스 실행)
├── 📜 requirements.txt              # ✅ 필수 Python 패키지 목록
├── 📜 .gitignore                    # ✅ 업로드 제외 파일 (.env, credentials 등)
├── 📜 README.md                     # ✅ 프로젝트 설명 문서

📌 각 파일 간 연계 흐름

사용자가 python register.py를 실행하면 다음과 같은 흐름으로 데이터가 처리됩니다.

1️⃣ register.py 실행

  • 사용자가 GitHub 저장소 URL, 저장소 소유자 ID, 스토리 제목을 입력

2️⃣ fetch_github.py 실행

  • 사용자의 GitHub 저장소에서 MyStory 폴더 내 md 파일 목록을 가져옴
  • GitHub 저장소 소유자 인증을 수행하여 불법적인 데이터 입력 방지

3️⃣ process.py 실행

  • 가져온 md 파일을 OpenAI API로 요약하고 첫 번째 이미지 URL을 추출

4️⃣ upload_to_firestore.py 실행

  • StoryMap 프로젝트의 API에 정제된 데이터를 전송
  • StoryMap 프로젝트가 Firestore에 저장하고, 프론트엔드에서 UI로 표시

📌 4. 실행 방법 (Command Line)

python register.py

실행 후, GitHub 저장소 URL 및 정보를 입력하면 StoryMap 프로젝트로 자동 등록됩니다.

📌 실행 과정(예):

등록할 스토리 제목을 입력하세요: [사용자 입력 대기]
귀하의 스토리(md 파일 형식)가 담긴 MyStory 폴더가 Github에 업로드 되어 있어야 합니다.
해당 폴더의 URL을 입력하세요: [사용자 입력 대기]
GitHub 저장소의 소유자 ID를 입력하세요: [사용자 입력 대기]

✅ 이후, Tokamak Network의 GemSTON Fantasy StoryMap에 자동 등록되며, StoryMap을 통해 커뮤니티 맴버들이 손쉽게 접근 가능합니다.


📌 5. 장점 (StoryMap과 Tokamak Network의 연계 장점)

🌟 스토리 자동 등록 시스템

✅ 사용자가 자신의 GitHub 저장소 내 MyStory 폴더에 md 파일을 추가하기만 하면, StoryMap 프로젝트로 자동 등록됩니다.
스토리를 매번 직접 등록할 필요 없이 새로운 챕터를 추가하면 자동으로 StoryMap이 업데이트됩니다.

🌟 Tokamak Network 커뮤니티와의 연결

GemSTON Fantasy StoryMap에 자동 반영되므로 커뮤니티 맴버들이 편리하게 접근 가능
✅ 여러 크리에이터들이 각자의 GitHub 저장소에서 작성한 이야기들이 하나의 StoryMap에 연결

🌟 OpenAI API를 활용한 자동 요약 생성

스토리 요약본이 자동으로 생성되어 StoryMap에서 미리보기를 제공
✅ 전체 내용은 GitHub 원본 링크를 통해 열람 가능
✅ 커뮤니티 맴버들이 스토리의 주요 내용을 빠르게 파악할 수 있도록 도움

🌟 사용자의 스토리 관리 부담 최소화

사용자는 자신의 GitHub 저장소만 관리하면 됨
✅ StoryMap 프로젝트에서 자동으로 Firestore에 저장 및 StoryMap UI에서 표시
스토리 버전 관리, 업데이트, 링크 공유 등이 간편

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages