교육부 기준 100% 반영, 수기 계산 끝 — 'PAPS 학생건강체력평가 등급 자동 산출 & 가정통신문 생성기'
🏃 초등 체육·보건 행정 업무 — 전교생 PAPS 측정 데이터 CSV를 드래그 앤 드롭하면, 교육부 공식 점수 환산 기준표에 따라 5대 영역(심폐지구력·유연성·근력·순발력·체지방) 점수와 종합 1~5등급을 1초 만에 자동 판정합니다. 맞춤형 운동 처방전이 담긴 학부모용 건강 리포트를 일괄 출력할 수 있습니다.
📖 한 줄 정의
심기 모드(데이터 임베딩): API 데이터를 미리 받아 HTML 파일 안 상수로 박아두는 방식(앱 실행 중 외부 통신 0).
학내망 원칙: 학생 개인정보(실명·의견·성적·상담 기록)의 외부 수집·저장·전송 금지(쿼리에 학생 데이터가 담기는 외부 API 호출 포함) — 일반 공개 쿼리의 외부 호출은 허용하며, 학생 배포본은 심기 폴백(EMBED 상수)을 항상 내장한다.
1. 3대 핵심 분석 비교표
| 무엇이 바뀌었나요? / 영역 | 초보자를 위한 쉬운 설명 | 이렇게 한번 써보세요! |
|---|---|---|
| 교육부 공식 환산표 내장 | 왕복오래달리기, 앉아윗몸앞으로굽히기, 악력 등 종목별 점수 변환 기준표를 파일 상수로 완벽히 심었습니다. | 측정값 입력 즉시 100점 만점 환산 점수 자동 산출. |
| 종합 1~5등급 자동 판정 | 5개 영역 총점을 합산하여 1등급(80점 이상)부터 5등급(20점 미만)까지의 체력 등급을 자동 판정합니다. | 4~5등급 학생에게 건강체력교실 참가 권장 안내 자동 부착. |
| 가정통신문 리포트 일괄 인쇄 | 브라우저 인쇄(@media print) 한 번으로 전교생 개별 건강 리포트를 A4 용지에 맞추어 일괄 출력합니다. | 나이스(NEIS) 등록용 검증 완료 CSV 내보내기 지원. |
2. 핵심 아키텍처 해설
① 교육부 PAPS 점수 환산표 상수: PAPS_TABLE
const PAPS_TABLE = {
shuttle_run_boy12: [
{ score: 20, min: 65 }, { score: 16, min: 50 },
{ score: 12, min: 38 }, { score: 8, min: 25 }, { score: 4, min: 0 }
]
// 좌전굴, 악력, 제자리멀리뛰기, BMI 기준표 내장
};
교육부 공식 편람의 성별·연령별 기준표를 100% 내장하여 인터넷 없이도 오차 없는 등급 계산을 보장합니다.
② 종합 등급 판정 알고리즘
function calcGrade(totalScore) {
if (totalScore >= 80) return { grade: "1등급", text: "매우 우수한 체력입니다.", badge: "🥇" };
if (totalScore >= 60) return { grade: "2등급", text: "우수한 체력 수준입니다.", badge: "🥈" };
if (totalScore >= 40) return { grade: "3등급", text: "보통 체력입니다.", badge: "🥉" };
if (totalScore >= 20) return { grade: "4등급", text: "건강 증진 활동이 필요합니다.", badge: "⚠️" };
return { grade: "5등급", text: "맞춤형 체력교실 참여를 권장합니다.", badge: "🚨" };
}
영역별 20점 만점(총 100점) 기준에 따라 1~5등급을 자동 산출하고, 맞춤형 운동 처방 조언을 연결합니다.
③ CSV 업로드 & A4 리포트 인쇄
측정 엑셀(CSV)을 드래그 앤 드롭하면 브라우저 메모리 안에서만 계산되고 어떤 외부 서버로도 전송되지 않습니다. 계산 완료 후 '리포트 인쇄' 버튼을 누르면 브라우저 기본 인쇄창에서 A4 용지 규격으로 깔끔하게 출력됩니다.
3. 초보자를 위한 바이브 코딩 실전 사용 예시
- 프롬프트 복사 — 아래 '제미나이 전용 에러 제로 프롬프트'를 복사합니다.
- 역질문 답변 — 제미나이가 묻는 대상 학년(5~6학년)과 측정 종목 5가지에 답합니다.
- HTML 파일 실행 — 메모장에 붙여넣고
PAPS계산기.html로 저장하여 체육 행정에 활용합니다.
제미나이 전용 에러 제로 프롬프트
[🚨 에러 방지 기본 안전장치]
1. 단일 HTML 파일 완결성: 외부 서버, CDN 없이 순수 바닐라 HTML/CSS/JS로 완성한다.
2. PAPS 공식 환산표 심기: 초등 5~6학년 남녀 심폐지구력, 유연성, 근력, 순발력, BMI 점수표(100점 만점)를 상수로 내장한다.
3. CSV 드래그 앤 드롭: 학급별 측정치 CSV 파일을 업로드하면 1초 만에 학생별 총점과 1~5등급을 자동 계산한다.
4. @media print A4 가정통신문: 인쇄 시 학생 1명당 A4 1장(또는 2명당 1장)으로 규격화된 체력 리포트 카드를 출력한다.
5. 학생 개인정보 0: 학생 실명은 화면에만 임시 렌더링되며 로컬 파일이나 외부 서버로 절대 저장되지 않는다(세션 휘발).
6. // TODO, /* 생략 */ 등의 미완성 코드는 절대 넣지 말고 끝까지 완성한다.
[❓ 역질문 유도]
코드를 즉시 작성하지 말고, 아래 3가지를 먼저 나에게 질문한 뒤 내 답변으로 설계를 확정한다.
Q1. 기본 종목 구성을 왕복오래달리기/앉아윗몸앞으로굽히기/악력/제자리멀리뛰기/BMI 5종으로 할까요?
Q2. A4 1장에 학생 리포트를 1명씩 크게 출력할까요, 2명씩 절약형으로 배치할까요?
Q3. 나이스(NEIS) 일괄 업로드용 결과 CSV 다운로드 버튼을 추가할까요?
🎯 에디터 한줄평
"며칠 밤을 새우며 기준표 책자를 뒤적이던 체육부장 선생님의 수고를 1초 만에 덜어내는 것, 그것이 교육 행정 전산화의 가장 아름다운 쓸모입니다. 아낀 행정 시간은 고스란히 운동장에서 아이들의 뜀박질을 한 번 더 응원하는 시간으로 돌아갑니다."
📚 기술·교육 참고 링크
- 교육부 학생건강체력평가제(PAPS) 운영 매뉴얼 및 공식 평가 기준표
- 교육과정 연계: 초등 5~6학년 체육(건강 체력 평가 및 관리), 보건 행정