← 목록

Crowny Church — 성경 + 퀴즈 + 교회별 청정 유튜브

개요

church.crowny.org에 성경 읽기 기능, 성경 퀴즈(교단 성경고사) 기능, 그리고 교회마다 자체 큐레이션 한 청정 유튜브 시청 페이지를 추가했다. 다음세대(NextGen) 페이지의 "준비 중" 블록을 실제 기능으로 교체하고, 설교 페이지에서도 청정 시청 페이지로 바로 이어지게 했다.

무엇을 했는가

1. 성경 라이브러리 (src/lib/bible.ts)

  • BIBLE_BOOKS: 66권 전체 메타데이터 (id, 한글명, 영문명, 약어, 구/신약, 카테고리, 장수)
  • KEY_VERSES: 암송/일일 말씀용 36개 대표 구절
  • getTodayPlan(day): 1년 365일 통독 플랜 — 매일 구약·시편·신약 3개 본문 자동 분배
  • getVerseOfDay(day): 오늘의 말씀 로테이션
  • loadBibleProgress() / markChapterRead(): localStorage 진행도 관리
  • 읽은 장 목록, 연속 일수, 누적 적립금, 7일 연속 +50pt 보너스
  • 2. 퀴즈 라이브러리 (src/lib/quiz.ts)

    3. 교회별 청정 유튜브 라이브러리 (src/lib/church-videos.ts)

  • VideoCategory: 8개 (설교/찬양/간증/교육/다음세대/기도회/선교/공지)
  • CuratedVideo: 교회가 직접 고른 영상 구조 (유튜브 id, 카테고리, 설교자, 날짜, 고정 여부)
  • buildEmbedUrl(): youtube-nocookie.com + rel=0&modestbranding=1&iv_load_policy=3
  • 관련 동영상 비활성화, 유튜브 로고 최소화, 주석 끄기 → 알고리즘 차단
  • buildThumbnailUrl(), countByCategory(), filterVideos()
  • 4. 성경 페이지 (src/pages/platform/BiblePage.tsx)

    5. 퀴즈 페이지 (src/pages/platform/QuizPage.tsx)

    6. 교회 전용 시청 페이지 (src/pages/portal/WatchPage.tsx)

  • 경로: /#/{slug}/watch — 156개 모든 교회 대응
  • 청정 시청 안내 배너 (알고리즘·트래킹 차단 설명)
  • 메인 iframe 플레이어 (youtube-nocookie.com + rel=0 파라미터)
  • referrerPolicy="strict-origin-when-cross-origin" + allow 속성 최소화
  • 카테고리 필터 (전체/설교/찬양/…) — 영상 개수 배지 포함
  • 영상 카드 리스트: 썸네일(i.ytimg.com) + 고정 배지 + 길이 + 설교자/날짜
  • 등록된 영상 없을 때: "큐레이션 된 영상이 아직 없습니다" + 유튜브 채널 바로가기
  • 7. 다음세대 페이지 전면 개편 (src/pages/portal/NextGenPage.tsx)

    8. 설교 페이지 → 시청 페이지 링크 (src/pages/portal/SermonsPage.tsx)

    9. 라우터 + 네비게이션

    관련 파일

    신규:

    수정:

    빌드 결과

    청정 시청 환경 구현 요점

    1. 도메인: youtube.com 대신 youtube-nocookie.com 사용 → 광고 추적 쿠키 차단
    2. 관련 동영상 차단: rel=0 (동일 채널만 노출되도록 제한)
    3. 브랜딩 축소: modestbranding=1 (유튜브 로고 축소)
    4. 주석 차단: iv_load_policy=3
    5. 사용자 경로: 설교/시청 탭 → 앱 내에서 재생 종료 → 유튜브 홈으로 튕기지 않음
    6. 교회 큐레이션: 관리자가 선택한 영상 id만 DB에 저장 → 알고리즘 추천 완전 제거

    잔여 이슈