개발 진행중 · 2026년 8월

교회 출석·심방 관리 앱 — 중등부에서 청년부까지

중등부 교사용으로 만든 출석·심방 PWA가 청년부(출석 300여 명, 셀리더 50명)로 확산된 사례. 수기 출석부 → 사진 전달 → 엑셀 집계 흐름을 "앱에서 체크 = 바로 집계"로 바꿨다.

교회 출석·심방 관리 앱 — 중등부에서 청년부까지

교사들이 매주 출석을 체크하고, 심방 기록을 남기고, 새가족을 등록하는 일을 종이 대장 없이 폰에서 바로 처리하도록 만든 웹앱이다. 중등부에서 시작했고, 지금은 다른 부서가 가져가서 쓰고 있다.

한눈에

시작2026년 8월, 중등부
운영 중중등부, 청년부
도입 준비고등부, 초등부 (앱 전달 완료)
청년부 규모재적 약 600명 · 주일 출석 310~320명 · 셀리더 약 50명

왜 만들었나

출석부와 심방 기록이 여러 장의 종이와 개인 메모장에 흩어져 있었다. 교사가 바뀌거나 학기가 넘어가면 이전 기록을 찾기 어려웠고, 담당 학생이 몇 주째 결석 중인지 한눈에 볼 방법이 없었다.

무엇을 만들었나

  • 반·셀 단위 출석 체크, 입구 QR 체크인, 이름 + PIN 로그인
  • 학생별 심방 기록 누적, 연속 결석 학생을 알려 주는 “확인이 필요해요” 카드
  • 새가족 셀프 등록과 담당 교사 지정
  • 주간 출석 합계·비교 통계, 관리자용 CSV 내보내기
  • 달란트(포상) 적립과 QR 결제
  • 권한 3단계(교사 / 관리자 / 교역자): 교사는 자기 반 학생만 볼 수 있다

데이터는 이렇게 쌓이고 관리된다

교사가 폰에서 누르는 버튼 하나가 곧 시트 한 줄이다. 앱은 입력을 받아 Google Sheets에 시트별로 나눠 저장하고, 집계와 점검 화면은 그 원본에서 바로 계산한다.

시트한 줄 =주요 칸
반목록반 하나학년, 반, 담당교사, 새가족반 여부
학생명단학생 한 명반, 학교, 영접기도·구원의 확신, 장기결석, 새가족 구분
출석기록학생 × 주일날짜, 출석/지각/결석, 메모
심방기록심방 한 번작성교사, 방식·시간, 네 가지 질문 답, 종합소견, 교역자 전달, 교역자 확인
양육기록양육 한 회차주차, 작성교사, 메모
변경이력수정 한 건누가 언제 무엇을 바꿨는지
  1. 입력: 교사가 반 화면에서 출석을 탭하면 그 자리에서 출석기록 시트에 저장된다. 심방은 학생 화면에서 정해진 질문 양식대로 남긴다.
  2. 점검: 관리자는 “출석 입력 점검”에서 어느 반이 입력을 끝냈는지, 반별 출석·지각·결석 수와 결석자를 한 화면에서 본다.
  3. 후속 조치: 연속 결석이 쌓인 학생은 “확인이 필요해요” 목록에 자동으로 올라오고, 심방 기록의 “교역자 전달”은 교역자 화면에 미확인 건으로 모인다. 교역자가 확인하면 표시가 바뀐다.
  4. 보관: 원본이 시트에 있으니 담당 교사가 바뀌어도 기록이 그대로 남고, 필요하면 CSV로 내보낸다.
반 화면: 학생별 출석·지각 체크
반 화면 — 탭하면 출석기록에 저장
출석 입력 점검: 반별 입력 상태와 출석·지각·결석 수
입력 점검 — 반별 완료 여부·결석자
학생 화면: 정해진 양식으로 남긴 심방 기록
심방 기록 — 질문 양식·교역자 전달
교역자 화면: 미확인 교역자 전달 모아보기
교역자 화면 — 전달 사항 모아 확인

실제 학생 정보 대신 가짜 데이터를 넣어 찍은 화면. 이름은 모두 ○○로 표시했다.

청년부로 확산된 과정

청년부의 기존 출석 흐름은 이랬다.

  1. 셀리더 약 50명이 주일마다 종이 출석부에 손으로 체크
  2. 각자 출석부를 사진으로 찍어 담당자 한 명에게 전송
  3. 담당자가 사진 50장을 보며 300여 명의 출석을 엑셀에 다시 입력

같은 정보를 세 번 옮겨 적는 구조라 시간이 오래 걸렸고, 옮기는 과정에서 누락이 생겼다. 그날 출석 현황은 다음 날이 되어서야 알 수 있었다.

중등부 앱을 본 청년부가 필요성을 느껴 앱을 받아 갔고, 흐름이 이렇게 바뀌었다.

  1. 셀리더가 앱에서 자기 셀 출석을 체크
  2. 체크하는 순간 데이터베이스(시트)에 저장
  3. 관리자는 예배가 끝나면 그날 전체 출석을 바로 확인

사진 전달과 엑셀 재입력 단계가 통째로 사라졌다.

청년부 관리자 홈: 주간 출석 합계와 팀 목록
관리자 홈 — 주간 합계·팀별 현황
셀 화면: 셀원별 출석·결석 체크
셀리더 화면 — 탭 한 번으로 체크

청년부 실제 화면. 이름은 모두 가렸다.

지키는 원칙
  • 실명·연락처는 코드에 넣지 않고 교회 시트에만 둔다.
  • 교사는 자기 반 학생만 본다. 전체는 관리자·교역자만.
  • 집계용 API는 이름 없이 숫자만 내보낸다.
  • 누가 언제 무엇을 바꿨는지 변경이력에 남긴다.

기술적으로 신경 쓴 부분

  • 운영비 0원: 프론트는 Cloudflare Pages에 정적으로 배포하고, 데이터는 Google Sheets를 Apps Script로 API처럼 연결했다. 별도 서버가 없다.
  • 앱스토어 없이 설치: PWA라 심사 없이 홈 화면에 설치되고, 오프라인에서도 최근 데이터는 캐시로 볼 수 있다.
  • 부서별 독립 배포: 부서마다 시트·백엔드·주소를 따로 둔다. 한 부서의 데이터가 다른 부서에 섞이지 않고, 다른 부서로 옮겨 줄 때는 연결 주소만 바꾸면 된다.
  • 개인정보 분리: 실명과 전화번호는 코드에 넣지 않고 시트 데이터로만 다룬다.

다음 단계: 교구와 담임목사가 보는 통합 현황

각 부서 앱에 이름 없이 숫자만 돌려주는 요약 API(재적·출석·결석·새가족)를 이미 넣어 두었다. 이 값을 모으면 교구와 담임목사가 개인정보를 보지 않고도 전 부서의 주간 출석 흐름을 한 화면에서 볼 수 있다. 부서별 기반은 마련됐고, 이를 모아 보여 줄 통합 대시보드가 다음 작업이다.