교사 수업준비·검수·학부모 리포트 통합 플랫폼
MVP 이후 로드맵으로 교사 PC 웹의 수업준비 화면, AI 진단 검수·수정 기록, 유사 복습 문제 품질 검증 루프, 학부모 학습 리포트를 하나의 흐름으로 묶는 확장 프로젝트입니다.
프로젝트 개요
MVP 이후 로드맵으로 교사 PC 웹의 수업준비 화면, AI 진단 검수·수정 기록, 유사 복습 문제 품질 검증 루프, 학부모 학습 리포트를 하나의 흐름으로 묶는 확장 프로젝트입니다. 복습 문제는 AI 독립 풀이 일치 검사를 통과한 건만 출제하는 구조로 설계합니다.
작업 범위
- 수업준비 대시보드: 교사가 학생 목록을 고르면 오답 패턴, 오개념 유형 분포, 재풀이 이력이 오른쪽 상세 패널에 한 번에 펼쳐지는 수업준비 화면입니다
- 교사 검수·수정 기록: 교사가 AI 진단을 승인하거나 수정하고, 수정 내용과 사유가 이력으로 남는 검수 화면입니다
- 유사 문제 품질 검증 루프: 학년·단원·난이도 메타 조건으로 유사 복습 문제를 생성하고, AI 독립 풀이가 정답과 일치한 문제만 통과시키는 품질 검증 화면입니다
- 학부모 학습 리포트: 학부모가 자녀의 학습 진행, 약점 단원, 재풀이 추이를 주기별 리포트로 확인하는 화면입니다
주요 업무
- 수업준비 대시보드 화면: 학생 리스트와 상세 패널을 하나의 화면에 두고, 진단 데이터를 오개념 유형·단원별로 집계해 수업 우선순위를 제안합니다
- 교사 검수·수정 기록 화면: AI 원본 진단과 교사 수정본을 버전으로 보관하고 변경 항목별 차이를 비교 뷰로 표시합니다
- 유사 문제 품질 검증 루프 화면: 생성 요청에 학년·단원·난이도·오개념 유형 조건을 넣고, 별도 호출로 문제를 독립 풀이해 기준 정답과 비교하며 불일치 문제는 폐기하고 사유를 기록합니다
- 학부모 학습 리포트 화면: 익명 학생 코드에 연결된 학습 기록을 주간 리포트로 집계하고, 학부모 권한 범위의 항목만 노출합니다



프로젝트 핵심 과제
생성 문제와 독립 풀이가 같은 오류를 공유하면 일치 검사를 통과할 수
기준 정답 입력 방식과 교사 샘플 점검 절차 설계 필요
학년·단원·난이도 메타 조건이 프롬프트에서 느슨하게 해석되지 않
조건 고정 방식과 조건 위반 판정 규칙 설계 필요
교사 수정 기록을 이후 진단 개선에 쓰려면 개인정보를 제거한 피드백 데이터 추출 범위 설계
학생·학부모·교사 간 열람 범위가 달라 리포트 항목별 노출 규칙과 보관 기간 만료 처리 설계
핵심 기능 상세
수업준비 대시보드
교사가 학생 목록을 고르면 오답 패턴, 오개념 유형 분포, 재풀이 이력이 오른쪽 상세 패널에 한 번에 펼쳐지는 수업준비 화면입니다.
- Firestore 집계 문서로 학생별 오개념 유형·단원 분포 사전 계산
- Recharts 히트맵·막대 차트로 단원별 오답 패턴 시각화
- URL 파라미터와 선택 상태를 동기화해 학생 상세 링크 공유 지원
학생 단위 이력과 학급 단위 분포를 한 화면의 리스트·상세 구조로 연결해 수업 직전 확인 흐름을 구현합니다.


교사 검수·수정 기록
교사가 AI 진단을 승인하거나 수정하고, 수정 내용과 사유가 이력으로 남는 검수 화면입니다. AI 원본 진단과 교사 수정본을 버전으로 보관하고 변경 항목별 차이를 비교 뷰로 표시합니다.
- 진단 원본·교사 수정본을 불변 버전 문서로 저장하고 변경 필드 diff 계산
- 수정 사유 코드 선택 UI와 자유 메모 입력 구성
- 검수 이력을 학생 상세와 연결해 프롬프트 개선용 피드백 데이터로 내보내는 구조 설계
AI 판정과 교사 판정을 덮어쓰지 않고 버전으로 쌓아 검수 근거와 이후 개선 입력이 함께 남는 기록 구조를 설계합니다.


유사 문제 품질 검증 루프
학년·단원·난이도 메타 조건으로 유사 복습 문제를 생성하고, AI 독립 풀이가 정답과 일치한 문제만 통과시키는 품질 검증 화면입니다.
- 학년·단원·난이도 메타 조건을 구조화 프롬프트 입력으로 고정하는 생성 요청 빌더
- 생성 호출과 독립 풀이 호출을 분리하고 정답 일치 여부로 통과·폐기 판정
- 폐기 사유와 재생성 횟수를 Firestore에 기록하고 통과율 대신 판정 이력 목록으로 표시
생성한 문제를 곧바로 출제하지 않고 AI 독립 풀이 일치 검사를 통과한 건만 출제 후보로 올리는 검증 루프를 구현합니다.


학부모 학습 리포트
학부모가 자녀의 학습 진행, 약점 단원, 재풀이 추이를 주기별 리포트로 확인하는 화면입니다. 익명 학생 코드에 연결된 학습 기록을 주간 리포트로 집계하고, 학부모 권한 범위의 항목만 노출합니다.
- Firebase 인증 커스텀 클레임으로 학생·학부모·교사 권한 분리
- 주간 리포트 집계를 예약 함수로 생성하고 PDF 내보내기 지원
- 보관 기간 설정에 따른 자동 삭제 규칙을 Firestore TTL 정책으로 구성
역할별 커스텀 클레임과 보안 규칙으로 학부모에게는 자녀 리포트만 보이도록 접근 범위를 코드 수준에서 제한하는 구조를 설계합니다.


프로젝트 진행 단계
역할별 권한과 익명 코드 체계 설계 · 2026.10
학생·학부모·교사 권한 모델, 익명 학생 코드, 보관·삭제 정책 구조 정의
교사 수업준비·검수 화면 구현 · 2026.10
학생 리스트·상세 패널, 진단 버전 비교와 수정 이력 기능 구현
유사 문제 생성·검증 루프 구현 · 2026.10
메타 조건 생성기, 독립 풀이 일치 검사, 폐기 사유 기록 구현
학부모 리포트·집계 함수 구현 · 2026.10
주간 집계 예약 함수, 리포트 차트, PDF 내보내기 구현
개발 결과
기술적 주안점
- 학생 단위 이력과 학급 단위 분포를 한 화면의 리스트·상세 구조로 연결해 수업 직전 확인 흐름을 구현합니다
- AI 판정과 교사 판정을 덮어쓰지 않고 버전으로 쌓아 검수 근거와 이후 개선 입력이 함께 남는 기록 구조를 설계합니다
- 생성한 문제를 곧바로 출제하지 않고 AI 독립 풀이 일치 검사를 통과한 건만 출제 후보로 올리는 검증 루프를 구현합니다