Crowny Church — 군 전역 형제 맞춤 교회 + 새가족 섬김 7단계
개요
church.crowny.org에 군 생활 중 예수님을 처음 믿은 형제들을 위한 지역별 교회 추천 기능을 추가했다. 동시에 교회가 새가족을 섬길 수 있도록 표준 7단계 프로세스를 라이브러리화하고, 15개의 군 주둔 지역/새가족 강점 교회를 새로 수록했다.
무엇을 했는가
1. 새가족 섬김 프로세스 라이브러리 (src/lib/church-newfamily.ts)
- 7단계 표준 프로세스 정의: 환영 → 예배 후 인사 → 1주 이내 팔로우업 → 새가족반 → 소그룹 → 1:1 양육 → 세례/침례
- 각 단계: timing, owner, goal, checklist, redFlags
evaluateNewFamilyReadiness()— 교회 후보 데이터(7축 점수 + 키워드)에서 새가족 준비도 추정matchChurchesForMilitary()— 지역/규모/청년활력/성령체험 조건으로 매칭 + 군 키워드 가중buildFirstStepGuide()— 첫 방문 절차 자동 생성
2. 군 전역 형제 추천 페이지 (src/pages/platform/MilitaryPage.tsx)
- 경로:
/#/military - 필터: 지역(17개 시도), 교회 규모, 청년활력/성령체험 중요도
- 상위 30개 매칭 교회 표시, 지역별 그룹 뷰
- 교회별 TierBadge (최적/추천/적합/가능) + matchReasons + firstStepGuide
- 7단계 프로세스 Accordion — 체크리스트 + 하지 말아야 할 것 펼침
3. 군 친화 교회 15개 추가 (ROUND7)
- 대도시 권역: 온누리교회(서빙고), 사랑의교회(서초), 분당우리교회, 포항제일교회
- 군 주둔지 권역: 의정부제일·동두천중앙·철원명성·파주초대·포천드림·화천은혜·인제생명샘·계룡영광·논산한빛·진해해양·서귀포하늘
- 각 교회는 해당 부대/군 특성(1군단/GOP/해병대1사단/해군사관학교/훈련소/계룡대/해군9전단 등)에 연결
CHURCH_ALIASES를 동적으로 확장 — 141+15 = 156개 교회 모두 개별 포털 URL 동작
4. 교회 리졸버 + 포털 페이지 일반화
resolveChurch() default 케이스에서 findCandidate()로 폴백 — 156개 교회 모두 개별 ChurchLayout 동작buildFromCandidate() — 후보 데이터 → ResolvedChurch 변환 (families 규모 추정, 기본 예배 시간, vision/pastor bio 자동 생성)AboutPage.tsx 전면 재작성 — CHURCH/SERVICES 하드코딩 제거, resolveChurch() 기반SermonsPage.tsx 일반화 — youtube 없으면 안내 메시지, 교회별 예배 시간 자동 표시5. 라우터 + 네비게이션
PlatformRoute타입에'military'추가App.tsxPlatformRouter switch에 MilitaryPage 케이스 추가PlatformLayoutnavItems에 "군 전역 형제" 추가CHURCH_ALIASES에 ALL_CANDIDATES 슬러그/이름 동적 등록
6. PlatformHome MilitaryCallout 섹션
- 홈에서 바로 Military 페이지로 유입되도록 어두운 카드 섹션 추가
- ScreeningPreview와 InsightsPreview 사이에 배치
관련 파일
/Users/ef/crowny-church/src/lib/church-newfamily.ts— 신규 (450줄)/Users/ef/crowny-church/src/pages/platform/MilitaryPage.tsx— 신규/Users/ef/crowny-church/src/lib/church-candidates.ts— ROUND7 추가 (4054 → ~4450줄)/Users/ef/crowny-church/src/lib/church-resolver.ts— buildFromCandidate 폴백 추가/Users/ef/crowny-church/src/lib/router.ts— military 라우트 + 동적 ALIAS/Users/ef/crowny-church/src/App.tsx— MilitaryPage 임포트/라우팅/Users/ef/crowny-church/src/components/portal/PlatformLayout.tsx— 네비 추가/Users/ef/crowny-church/src/pages/portal/AboutPage.tsx— 리졸버 기반 일반화/Users/ef/crowny-church/src/pages/portal/SermonsPage.tsx— 리졸버 기반 일반화/Users/ef/crowny-church/src/pages/platform/PlatformHome.tsx— MilitaryCallout 추가
빌드 결과
npx tsc --noEmit통과npm run build성공 — 654KB (gzip 165KB), 91 모듈- 전체 교회 후보 수: 156개 (SEED 7 + ROUND1~6 + MISSION_ORGS 19 + ROUND7 15)
잔여 이슈
- MainPage, MissionsPage, GivingPage, CommunityPage, NextGenPage, CompassionPage는 아직 CTC 하드코딩 남아있음 — 추후 resolver 기반으로 일반화 필요
- 교회별 실제 연락처·주소·목사 정보는 ROUND7 일부 교회에서 추정치 — 검증 단계에서 실제 확인 필요
- 번들 사이즈 500KB 경고 — 교회 데이터를 dynamic import로 분리 고려
- 군 전역 형제의 출신 부대별(GOP/해병대/해군/공군/특수부대 등) 세분 매칭 추가 여지