학교 행정업무 최적화 모델 1.0 — 상세 설명서

동아리·방과후 출석부 · 지도일지 · 전자서명 · 연수 등록부
사이트 gisan-hwaldong.pages.dev · 이 문서 /manual.html · 한 장 요약본 /guide.html
작성 2026-07-30 · 대상: 부서 담당 교사(1부) · 시스템 관리자(2부) · 인수인계 담당자(3부)

개요1. 이 시스템은 무엇인가

동아리·방과후 부서마다 만들던 출석부와 지도일지를 웹에서 작성하고, 손글씨 전자서명까지 받아 A4 문서로 인쇄·PDF 저장하는 도구입니다. 설치할 것이 없고 주소만 열면 태블릿·PC·휴대폰 어디서나 같은 화면이 뜹니다.

핵심 특징

저장 버튼이 없음입력하는 즉시 자동 저장되고, 다른 기기에도 실시간으로 반영됩니다. 교실 태블릿에서 출석을 찍고 교무실 PC에서 이어서 일지를 쓸 수 있습니다.
명단은 한 곳에서전교생 명단은 학교 전체가 공유하고, 부서마다 참여 학생만 체크해서 씁니다. 명단을 부서 수만큼 반복 입력할 필요가 없습니다.
문서는 월별 한 장출석부·지도일지가 월(月)별로 한 장씩 A4 세로에 맞게 만들어집니다. 결재란은 문서 상단에 들어갑니다.
서명은 코드 한 번전자서명을 등록해 두면 이후에는 본인 개인 코드 4자리만 입력해 결재란에 서명을 넣을 수 있습니다.
지워도 되돌릴 수 있음삭제한 부서는 휴지통에 보관되고, 주요 변경은 이력으로 남으며, 데이터는 주 2회 자동 백업됩니다.
용어 정리부서: 동아리·방과후 프로그램 하나(예: 우쿨렐레, 여름방학 AI교실). 회차: 활동한 날짜 하나(같은 날 오전·오후로 두 번 하면 회차 2개). 차시: 지도계획상의 순번(1차시, 2차시…).

1부 교사용2. 접속과 화면 구성

  1. 브라우저 주소창에 gisan-hwaldong.pages.dev 를 입력합니다. (즐겨찾기·홈 화면에 추가해 두면 편합니다.)
  2. 학교 항공사진 화면이 뜨면 접속 코드를 입력하고 입장을 누릅니다. 코드는 관리자에게 받으세요.
  3. 부서 목록이 나옵니다. 담당 부서의 열기를 누르면 그 부서의 작업 화면으로 들어갑니다.

탭 구조 — 왼쪽에서 오른쪽 순서대로 진행하면 됩니다

🏫 부서 목록부서를 만들고 열기·이름변경·복제·삭제. 아래쪽에 학교 전체 명단(전교생)이 있습니다.
① 기본설정운영계획서 파일을 올려 자동으로 채우기, 부서 정보(장소·요일·시간), 차시별 지도계획.
② 출석부참여 학생 선택 → 회차(날짜) 추가 → 출결 입력. 출석 통계와 엑셀(CSV) 내보내기도 여기에 있습니다.
③ 지도일지회차별 지도일지 작성. 날짜를 고르면 차시·참석 인원·주제·내용이 자동으로 채워집니다.
④ 서명 · 출력결재라인 구성, 전자서명, 미리보기, 인쇄·PDF 저장.

헤더(맨 위 줄)에는 가+(글자 크기), 💡 도움말(안내문 접기), ↻ 새로고침, 📋 연수 등록부, ⚙ 관리자, 로그아웃저장 상태 표시가 있습니다. 오른쪽 끝의 “✓ 저장됨” 표시로 저장 여부를 항상 확인할 수 있습니다.

부서를 잘못 열었다면 화면 위 부서 바꾸기를 누르면 목록으로 돌아갑니다. 부서를 옮길 때 작업 중이던 내용은 자동으로 저장됩니다.

1부 교사용3. ① 기본설정 — 부서 정보와 지도계획

운영계획서 불러오기(자동 분석)

학교에 제출한 운영계획서 파일을 그대로 올리면 부서명·장소·요일/시간과 차시별 주제·활동내용이 한 번에 채워집니다.

자동 분석은 인터넷 연결이 필요하며, 결과가 완벽하지 않을 수 있습니다. 채워진 뒤 직접 수정하면 됩니다.

부서 정보

학교명(관리자에서 변경) · 학년도·학기 · 부서명 · 활동 장소 · 운영 요일·시간을 입력합니다. 여기 넣은 값이 출석부·지도일지 문서 상단에 그대로 인쇄됩니다.

지도계획(차시별 운영계획)

차시마다 예정일 · 활동 주제 · 활동 내용을 적어 둡니다. 여기를 채워 두면 ③지도일지에서 날짜만 고르면 주제·내용이 자동으로 들어옵니다.

1부 교사용4. ② 출석부 — 참여 학생·회차·출결

4-1. 참여 학생 선택

전교생 명단에서 우리 부서에 오는 학생만 체크합니다. 체크한 학생만 아래 출석부 표에 나타납니다. 전체 선택/전체 해제 도 있습니다.

명단에 없는 학생은 부서 목록 탭 아래 ‘학교 전체 명단’에서 추가하거나 관리자에게 요청하세요. 전학·편입 학생은 여기 한 번만 추가하면 모든 부서에서 쓸 수 있습니다.

4-2. 회차(날짜) 추가

  1. 날짜 칸에서 활동한 날짜를 고릅니다.
  2. + 회차 추가 를 누르면 출석부에 그 날짜 열이 생깁니다.
  3. 회차를 지우려면 날짜 칩의 × 를 누릅니다. (출결·일지가 있는 회차는 확인 창이 뜹니다.)

같은 날 여러 차시를 진행한 경우

오전·오후처럼 하루에 두 번 이상 운영했다면, 같은 날짜를 한 번 더 추가하세요. “같은 날 2번째 회차로 추가할까요?”라는 확인 창이 뜨고, 확인하면 회차가 하나 더 생깁니다.

4-3. 출결 입력

학생×날짜 칸을 누를 때마다 상태가 순서대로 바뀝니다.

○ 출석× 결석△ 지각조 조퇴– 미참여(빈칸) 미입력
지각·조퇴참석으로 집계됩니다. 출석률에도 참석으로 반영됩니다.
결석참석에서 제외됩니다.
미참여(–)그 회차에 해당 없는 학생을 표시합니다. 출석률 계산에서 분모에서 빠지고, 관리자 화면의 ‘출결 미입력’ 경고에도 잡히지 않습니다.

시간대(분반)별로 오는 학생이 다를 때

같은 프로그램인데 오전반·오후반처럼 회차마다 참여 학생이 다른 경우의 입력 순서입니다.

  1. 같은 날짜를 두 번 추가해 회차를 나눕니다(7/30, 7/30②).
  2. 그 회차에 실제로 온 학생만 출결을 입력합니다.
  3. 날짜 아래 나머지– 를 누르면 빈칸인 학생이 모두 미참여(–)로 한 번에 처리됩니다.
전체○(그 회차 전원 출석)를 눌러도 미참여(–)로 표시한 학생은 그대로 유지됩니다. 순서와 상관없이 안전합니다.

그 밖의 입력 도구

4-4. 출석 통계 · 엑셀(CSV) 내보내기

표 아래에서 학생별 출석·결석 횟수와 출석률, 부서 평균 출석률을 볼 수 있습니다. 엑셀(CSV) 내보내기를 누르면 학기말 보고·NEIS 입력에 쓸 수 있는 파일이 내려받아집니다(한글 깨짐 없이 엑셀에서 바로 열립니다).

출석률 = (출석 + 지각 + 조퇴) ÷ (전체 회차 − 미참여 회차)

1부 교사용5. ③ 지도일지

  1. 날짜(활동 회차)를 고릅니다. 같은 날 여러 차시면 ②③ 표시로 구분되어 나옵니다.
  2. 차시·참석 인원·활동 주제·활동 내용이 자동으로 채워집니다. (참석 인원은 출석부 기준, 주제·내용은 지도계획 기준)
  3. 필요하면 고치고, 특이사항/평가를 적은 뒤 일지 저장을 누릅니다.
지도일지 문서는 한 쪽에 2건씩 인쇄됩니다. 활동 내용이 길면 칸 높이가 자동으로 늘어납니다.

1부 교사용6. ④ 서명 · 출력

6-1. 결재라인 구성(부서별)

문서 상단 결재란에 넣을 역할을 체크합니다. 지도교사 · 담당교사 · 교감 · 교장 중에서 고르며, 기본값은 지도교사·담당교사·교감입니다. 체크한 역할만 서명란과 결재란에 나타납니다.

6-2. 서명 넣는 두 가지 방법

① 등록 서명 + 개인 코드
권장
역할별로 담당자를 고른 뒤 코드로 서명본인 개인 코드 4자리 입력. 등록된 전자서명이 자동으로 들어가고, 누가 언제 결재했는지가 문서에 함께 표기됩니다.
② 그 자리에서 손서명 서명판에 손가락·펜으로 직접 쓰고 서명 저장. 코드가 필요 없습니다(본인이 그 자리에서 쓰는 것이므로). 서명을 등록하지 않은 분도 바로 쓸 수 있습니다.
개인 코드는 본인만 사용하세요. 다른 사람의 코드로 서명하는 것은 안 됩니다. 코드를 잊었다면 관리자에게 문의하면 바로 확인해 줍니다.

6-3. 미리보기와 출력

인쇄 결과는 검증되어 있습니다. 학생 33명 × 한 달 12회차(같은 날 2회차·미참여 포함) 조건에서 A4 세로 2쪽에 잘림 없이 들어가고, 결재란·서명·비고 줄바꿈까지 정상 출력되는 것을 실제 PDF로 확인했습니다.

1부 교사용7. 연수 등록부 (부서와 별개)

교직원 연수·교육의 참석 서명부를 만드는 독립 기능입니다. 헤더의 📋 연수 등록부로 들어가며 관리자 코드는 필요 없습니다.

  1. + 새 연수 등록부 로 만들고 열기.
  2. 연수 정보(일자·과정명·장소·주관/강사·시간·이수시간·비고)를 입력합니다.
  3. 참석자를 교직원 등록부에서 + 참석자 추가 하거나 전체 교직원 추가 후 불참자를 제외합니다.
  4. 참석자가 코드(개인 코드 4자리)로 서명하거나 손서명으로 그 자리에서 서명합니다.
  5. 미리보기🖨 인쇄 / PDF 저장.
태블릿을 한 바퀴 돌리면서 각자 코드를 입력하거나 손서명하게 하면 종이 서명부 없이 연수 참석 확인이 끝납니다.

1부 교사용8. 편의 기능과 안전장치

글자 크기헤더 가+ 를 누를 때마다 보통 → 크게 → 아주 크게로 바뀌고, 각자 기기에 기억됩니다.
도움말 접기헤더 💡 도움말 로 화면의 파란 안내문을 접었다 펼 수 있습니다. 익숙해지면 접어 두면 화면이 넓어집니다.
이름 검색학생 명단·교직원 등록부에 검색창이 있습니다. 이름 일부만 쳐도 걸러집니다.
동시 접속같은 부서를 다른 사람이 함께 보고 있으면 배지로 표시됩니다. 상대가 저장하면 내 화면도 자동으로 갱신됩니다.
충돌 알림내가 수정 중인데 다른 사람이 같은 부서를 저장하면 화면 위에 선택 바가 뜹니다. 최신 불러오기(상대 것 반영) 또는 내 변경 유지 중에서 고르면 됩니다. 말없이 덮어쓰지 않습니다.
연결 끊김인터넷이 잠깐 끊겨도 자동으로 다시 연결하고, 그동안 놓친 변경을 따라잡습니다. 입력한 내용은 기기에 임시 저장되었다가 복구됩니다.
삭제 확인회차·학생·지도일지·부서 삭제는 빨간 확인 창이 한 번 뜹니다. 부서 삭제는 휴지통으로 가므로 복구할 수 있습니다.

1부 교사용9. 자주 묻는 질문 (교사용)

Q. 저장 버튼이 안 보입니다.

없는 게 맞습니다. 입력하는 즉시 저장되며, 헤더 오른쪽에 “✓ 저장됨”이 표시됩니다. “⏳ 저장 중…”이 오래 머물면 인터넷 연결을 확인하세요.

Q. 다른 선생님이 입력한 내용이 안 보입니다.

보통은 자동으로 반영됩니다. 그래도 안 보이면 헤더의 ↻ 새로고침을 누르세요.

Q. 하루에 두 번 수업했는데 날짜를 추가할 수 없습니다.

같은 날짜를 다시 추가하면 “같은 날 2번째 회차로 추가할까요?” 확인 창이 뜹니다. 확인하면 7/30② 로 회차가 하나 더 생깁니다.

Q. 시간대별로 학생이 다른데 안 온 학생이 결석으로 잡힙니다.

결석(×) 대신 미참여(–) 로 표시하세요. 출결을 입력한 뒤 날짜 아래 나머지– 를 누르면 나머지가 한 번에 처리됩니다.

Q. 실수로 회차(또는 학생)를 지웠습니다.

회차·학생은 되돌리기가 없으므로 다시 입력해야 합니다. 부서 전체를 지운 경우에는 관리자 휴지통에서 그대로 복원할 수 있으니 관리자에게 연락하세요.

Q. 인쇄하면 표가 잘리거나 글씨가 세로로 깨집니다.

현재 버전에서는 해결되어 있습니다. 그래도 회차가 아주 많다면 용지 방향을 가로로 바꾸거나, 출력할 월을 나눠서 인쇄하세요.

Q. 개인 코드를 잊었습니다.

관리자에게 문의하면 바로 확인해 줍니다. 급하면 손서명으로 코드 없이 서명할 수 있습니다.

Q. 학생 이름이 명단에 없습니다.

부서 목록 탭 아래 ‘학교 전체 명단’에서 학년·성별·이름을 넣어 추가하거나 관리자에게 요청하세요. 한 번 추가하면 모든 부서에서 쓸 수 있습니다.

▲ 목차로

2부 관리자10. 관리자 — 진입과 초기 세팅

메인 화면 헤더의 ⚙ 관리자관리자 코드를 입력하면 들어갑니다. 메인으로 돌아가거나 새로고침하면 자동으로 다시 잠깁니다(공용 기기 대비). 관리자 화면 안에서 작업하는 동안은 재입력이 필요 없습니다.

학교 도입 시 초기 세팅 순서

  1. 로그인 코드 변경 — ‘로그인 코드 변경’에서 접속 코드와 관리자 코드를 학교 코드로 바꿉니다. 가장 먼저 하세요.
  2. 학교 정보 — 학교명을 확인/변경합니다(문서에 인쇄되는 이름).
  3. 학생 명단 — 전교생 명단을 채웁니다.
  4. 교직원·외부강사 등록부 — 엑셀 명부를 올리거나 직접 추가합니다.
  5. 개인 코드 일괄 발급 → 인쇄해서 개별 배부.
  6. 전자서명 등록 — 협의회 때 태블릿을 돌려 각자 서명하게 합니다.
  7. 부서 생성 + 부서별 서명자 지정.
  8. 백업 1회 실행 — 이후 백업 리마인더의 기준이 됩니다.
기본 코드(0000 / 1234)를 그대로 쓰면 로그인 화면과 관리자 화면에 경고가 계속 표시됩니다. 링크를 아는 사람은 누구나 들어올 수 있으므로 반드시 변경하세요.

2부 관리자11. 명단 · 교직원 · 서명자 관리

11-1. 학생 명단(전교생 공통)

학년·성별·이름으로 추가하고, 검색으로 찾아 삭제합니다. 관리자 화면과 부서 목록 탭 양쪽에서 관리할 수 있으며 내용은 같습니다.

학생 삭제는 전 부서에 영향을 줍니다. 삭제 시 어느 부서에서 함께 빠지는지 경고가 표시되니 확인 후 진행하세요.

11-2. 교직원 · 외부강사 등록부

교직원과 방과후 외부강사를 한 곳에서 관리합니다. 사람마다 직위 · 이름 · 구분(교직원/외부강사) · 전자서명 · 개인 코드를 가집니다.

개인 코드 발급과 배부

미설정자 코드 일괄 발급코드가 없는 사람에게만 4자리 코드를 무작위로 발급합니다. 학기 중 신규 교직원에게 씁니다.
전체 코드 재발급전원의 코드를 새로 발급합니다(기존 코드는 무효). 학년도 시작 시 사용합니다.
전체 코드 보기현재 코드 전체를 표로 봅니다. 코드를 잊은 분에게 확인해 줄 때 씁니다.
📋 전체 복사직위·이름·코드를 탭 구분으로 복사합니다. 엑셀에 붙여넣어 배부표를 만들 수 있습니다.
코드 표를 게시판에 붙이지 마세요. 인쇄 후 잘라서 개별 전달하거나 개인 메신저로 알려주세요. 코드는 전화번호 뒷자리 같은 추측 가능한 번호로 바꾸지 않기를 권합니다(동료가 알 수 있고, 개인정보가 저장됩니다).

11-3. 부서별 서명자 지정

부서 × 역할(지도교사·담당교사·교감·교장) 표에서 담당 교직원을 미리 지정합니다. 지정만으로는 서명이 들어가지 않고, 본인이 코드를 입력해야 서명이 적용됩니다. 부서 담당 선생님이 매번 사람을 찾을 필요가 없어집니다.

2부 관리자12. 대시보드 · 백업 · 휴지통 · 이력

12-1. 사용 현황 대시보드

부서별로 참여 인원 · 회차 · 일지(작성/회차) · 출결누락 · 서명(완료/결재라인)을 한 표로 보여 줍니다. 점검이 필요한 부서는 연한 배경과 빨간 숫자로 표시됩니다.

일지작성된 일지 수 / 회차 수. 회차보다 적으면 미작성 일지가 있다는 뜻입니다.
출결누락아무도 출결을 입력하지 않은 회차 수. 미참여(–)만 있어도 입력된 것으로 봅니다.
서명결재라인 중 서명이 채워진 수. 예: 2/3 미완

학기말에 이 표만 보고 미작성 부서에 연락하면 누락을 막을 수 있습니다.

12-2. 데이터 백업 / 복원

자동 백업이 별도로 돌고 있습니다. 매주 월·목 오전 7시에 전체 데이터가 GitHub 저장소에 스냅샷으로 저장됩니다(최근 12개 보관). 수동 백업은 그 위의 추가 안전망입니다.

12-3. 휴지통

삭제한 부서가 보관됩니다. 복원하면 출석부·지도일지·서명이 그대로 돌아오고, 영구삭제는 되돌릴 수 없습니다.

12-4. 변경 이력(감사 로그)

서명 적용, 부서 삭제/복원, 백업, 초기화 등 주요 변경이 일시 · 동작 · 내용으로 기록됩니다(최근 500건). “누가 언제 서명했는지” 확인할 때 씁니다.

12-5. 전체 데이터 초기화

모든 부서·출석부·지도일지·서명을 지우고 명단을 기본값으로 되돌립니다. 되돌릴 수 없습니다. 실행 전 반드시 백업하세요. 다음 학년도 시작 시에만 사용합니다.
▲ 목차로

3부 인수인계13. 시스템 구조와 운영

13-1. 구성

index.html 한 파일(정적, 빌드 없음). HTML·CSS·JS가 모두 안에 있고 이미지도 파일에 내장되어 있습니다.
호스팅Cloudflare Pages — gisan-hwaldong.pages.dev
데이터Supabase(무료 플랜) 데이터베이스. 앱과 데이터가 분리되어 있어 앱을 새로 배포해도 데이터에는 영향이 없습니다.
소스 저장소GitHub KIDAREEKIRIN/gisan-hwaldong (비공개)
문서/guide.html(교사용 한 장 요약) · /manual.html(이 문서)

13-2. 자동화되어 있는 것

실제로 겪은 사례 — 2026년 7월, 일주일간 접속이 없어 데이터베이스가 자동 일시정지된 적이 있습니다(데이터 손실은 없었고 복구했습니다). 자동 백업 작업은 이 재발을 막기 위한 것이므로 끄지 마세요.

13-3. 데이터가 저장되는 방식(개요)

데이터는 용도별로 나뉘어 저장됩니다: 부서 목록 · 전교생 명단 · 부서별 상태(출결·일지·서명) · 접속 코드 · 교직원 등록부 · 휴지통 · 변경 이력 · 연수 등록부. 여러 사람이 동시에 저장해도 섞이지 않도록 서버에서 순번을 검사하며, 충돌하면 사용자에게 선택을 묻습니다.

13-4. 담당자가 바뀔 때 넘겨야 할 것

기술적인 수정이 필요하면 저장소 안의 CLAUDE.md에 구조·규칙·테스트 방법이 정리되어 있습니다. 수정 후에는 반드시 자동 검사를 통과시킨 뒤 배포하도록 되어 있습니다.

3부 인수인계14. 보안 모델과 한계 — 꼭 알고 쓰기

접근 제한 수준4자리 코드 게이트는 가벼운 접근 제한이며 실제 보안 장치가 아닙니다. 주소를 아는 사람은 기술적으로 데이터를 볼 수 있습니다.
전체 삭제는 차단데이터베이스 설정상 누구도 데이터를 통째로 지울 수 없습니다. 추가·수정만 가능하며, 수정도 변경 이력·백업·휴지통으로 되돌릴 수 있습니다.
개인 코드의 성격도용·실수를 막고 책임성을 남기는 가벼운 안전장치입니다. 법적 부인방지(전자서명법상 공인 효력)는 없습니다.
운영 원칙주소는 교내(교직원·외부강사)에만 공유하세요. 학생 명단이 포함되어 있습니다. 외부 공개 게시판·홈페이지에 링크하지 마세요.

더 엄격한 통제(계정 로그인, 결재 순서 강제)가 필요해지면 로그인 방식 전환을 검토해야 합니다. 다만 “쉽고 빠르게 쓴다”는 현재의 설계 원칙과 상충하므로, 실제 필요가 생겼을 때 결정하는 것으로 정리되어 있습니다.

3부 인수인계15. 개발 이력과 앞으로의 계획

지금까지

2026-06출석부·지도일지·전자서명 기본 기능 완성. Cloudflare Pages로 이전.
2026-07 초제출물 품질(월별 A4 분할, 결재란에 이름·결재일) · 관리 가시성(대시보드 점검 지표) 강화.
데이터 안전 — 휴지통, 변경 이력, 동시 저장 충돌 방지, 전체 삭제 차단, 백업 리마인더.
사용성 — 태블릿 터치 영역 확대, 키보드·화면낭독기 대응, 글자 크기·도움말 토글, 검색.
2026-07-14실사용 시작(여름방학 프로그램부터).
2026-07-17안정성 보강 — 삭제 확인 창, 연결 끊김 자동 복구, 자동 검사·배포 정상화.
2026-07-30현장 피드백 반영 — 같은 날 다중 회차, 미참여(–) 상태, 인쇄 버그 3건 수정, 스플래시 배경에 학교 항공사진 적용.

운영 방식 — 피드백을 받아 계속 고칩니다

완성해 놓고 쓰는 방식이 아니라, 쓰면서 불편한 점을 모아 그때그때 반영하는 방식으로 운영합니다. 실제로 “하루에 여러 차시가 입력이 안 된다”, “시간대별로 인원이 다르다”는 현장 의견이 당일 반영되었습니다.

앞으로 검토 중인 것

▲ 목차로
학교 행정업무 최적화 모델 1.0 · 교내 사용용 · 문의는 관리자에게
이 문서: gisan-hwaldong.pages.dev/manual.html · 한 장 요약본: /guide.html