성적 관리, 이제 서버 대신
선생님 Google 드라이브에서
GradeNotify의 핵심 설계 원칙 하나: 학생 성적·개인정보는 이 서비스의 서버에 저장하지 않습니다. 모든 데이터는 선생님 Google 드라이브의 시트에 남고, 서비스는 그 시트에 접근할 뿐입니다.
성적 공지
CSV·엑셀 업로드만 하면 Google Classroom 명단과 자동 이름 매칭. 머리글 위에 통계가 있는 정기시험 일람표도 그대로 인식합니다.
전자서명 확인
학생이 본인 성적을 확인하고 화면에 직접 서명합니다. 누가 언제 확인했는지 대시보드에서 실시간으로 추적할 수 있습니다.
학생 본인 인증
Classroom 명단 기반 매핑 + 6자리 확인 코드. 학생에게는 자기 행의 성적만 보여줍니다.
개인정보 보호
성적·이름은 서버나 DB에 남지 않습니다. 교사 토큰도 서버 메모리에만 보관되어 프로세스 종료 시 소멸합니다.
성적 문의 처리
학생이 성적에 이의를 제기하면 문의 사유가 교사 대시보드에 표시되고, 처리 상태를 한 번에 관리할 수 있습니다.
성적 변경 추적
재업로드 시 버전이 자동 관리됩니다. 점수가 바뀐 학생만 다시 서명받는 버전 기반 워크플로를 제공합니다.
3단계로 완성되는 성적 공지
성적 파일 업로드
CSV 또는 엑셀을 올리면 Google Classroom 명단과 자동으로 학생 이름을 매칭합니다.
공지 URL + 코드 설정
6자리 확인 코드와 학생 공지 링크를 만들고, 학급에 안내합니다.
학생 확인·서명 수집
학생이 링크로 접속해 코드를 입력하고 본인 성적을 확인한 뒤 화면에 서명합니다.
데이터는 선생님 것이고,
흐름은 GradeNotify가 맡습니다
서버에 성적 없음
Firestore에는 시험·학급 메타데이터만 저장됩니다. 성적과 이름은 선생님 Google 드라이브에만 있습니다.
교사 계정 토큰은 메모리 전용
교사의 Google refresh token을 DB에 저장하지 않습니다. 프로세스가 재시작되면 다시 연결합니다.
학생 본인만 확인
Classroom 명단 매핑 + 6자리 코드로 학생 본인에게만 자기 성적이 공개됩니다.
최소 권한만 요청
교사 로그인 시 Classroom 읽기 전용 + 앱이 만든 파일(drive.file)만 접근하는 최소 권한을 요청합니다.