학생 관리

학생 등록, 정보 관리, 가입 요청 — E2E 테스트 가이드

목차
E2E 테스트 환경
교사웹: localhost:3001 | 서버: localhost:8080
로그인: teacher1 / Password123! (이병수, 사오수지 캠퍼스)

학생 목록

1 학생 관리 페이지 접속

사이드바에서 학생 관리 > 학생을 클릭하거나, /students로 접속합니다.

학생 관리 목록

학생 관리 페이지 — 전체 학생 목록 (NotionTable UI)

상단 컨트롤바 구성:
- 필터/정렬/그룹: 학생 목록 필터링, 정렬, 그룹핑
- 날짜 선택: 일별 할일/일정 기준 날짜
- 검색 (돋보기): 학생 이름 검색
- + (새 학생 추가): 학생 등록 모달 열기
- 엑셀 가져오기 (화살표): Excel 일괄 등록
- 출석 필터 (등원/디코): 출석 상태 필터 토글
- 속성: 테이블 컬럼 표시 설정
2 학생 선택 (체크박스)

각 행 좌측 체크박스로 학생을 선택합니다. 여러 명 동시 선택 가능합니다.

학생 선택됨

김학생, 이학생 2명 선택 — 파란 체크 + 행 하이라이트

새 학생 등록 (학생등록)

1 "새 학생 추가" 클릭

상단 컨트롤바의 + 버튼을 클릭합니다. "새 학생 등록" 모달이 열립니다.

새 학생 등록 모달 - 빈 상태

새 학생 등록 모달 — 기본 정보 영역

모달 전체 구성 (위→아래 스크롤):
1. 기본 정보: 이름(필수), 성별(♂남/♀여/⚥기타)
2. 학교/학년: 학교(드롭다운+새학교 추가), 학년(미정~고3)
3. 전화번호: 학생전화번호, 대표보호자번호(관계+번호)
4. 생년월일: 날짜 입력
5. 주소: 텍스트 입력
6. 선택과목: 수학/과학/사회 카테고리별 토글 버튼
7. 보호자 목록: 최대 3명, 관계+전화번호, 대표보호자(★) 지정
2 기본 정보 입력
필드입력값 (E2E)필수검증
이름 홍길동 필수 빈 값 불가
성별 ♂ 남 클릭 필수 3개 버튼 중 택 1
학교 이현중 선택 서버 학교 목록에서 선택 또는 새 학교 추가
학년 중1 선택 미정, 초1~6, 예비고1, 고1~3
3 전화번호 입력
필드입력값 (E2E)검증
학생전화번호 010-2222-3333 010-XXXX-XXXX 형식, 중복 자동 체크
대표보호자 관계 어머니 (드롭다운) FATHER/MOTHER/GRANDFATHER/GRANDMOTHER/OTHER
대표보호자 번호 010-3333-4444 기존 보호자 검색 → 연결 또는 신규 생성
전화번호 중복 체크 결과:
- 초록 "사용 가능한 번호": 신규 번호
- 빨강 "이미 등록된 학생 번호입니다": 현재 캠퍼스에 존재
- 다른 캠퍼스에 있는 경우: 계정 병합 다이얼로그 표시
새 학생 등록 - 입력 완료

기본 정보 + 전화번호 입력 완료

4 선택과목 및 보호자 확인

스크롤 다운하면 선택과목과 보호자 목록이 보입니다.

선택과목: 수학(미적분/확통/기하), 과학(물리I~지구과학II), 사회(한국지리~생활과윤리) — 해당하는 과목 버튼 클릭

보호자 목록: 대표보호자 1명 기본, "추가" 버튼으로 최대 3명까지. ★ 표시가 대표 보호자.

모달 하단 - 선택과목, 보호자, 버튼

선택과목 + 보호자 목록 + "문의 추가" 버튼

5 "문의 추가" 클릭하여 저장

하단의 문의 추가 버튼을 클릭합니다.

학생이 문의(INQUIRY) 상태로 생성됩니다. 이후 등록 절차(대기→등록)를 거쳐 정식 학생이 됩니다.

학생 상태 흐름:
문의(INQUIRY) → 대기(WAITING) → 등록(ENROLLED) → 퇴원예정(WITHDRAWAL_PENDING) → 퇴원(WITHDRAWN)
6 생성된 학생 확인

목록에 새 학생이 표시됩니다. 토스트 메시지 "문의 등록 완료"가 나타납니다.

학생 생성 완료

홍길동이 목록에 추가됨 (초1, 문의 상태)

7 학생 상세 카드 확인 (문의 상태)

홍길동 행을 클릭하면 상세 카드가 열립니다. 상태 배지가 "문의"로 표시되고, 연락처에 "가입전" 뱃지가 보입니다.

문의 상태 학생 상세 카드

홍길동 상세 카드 — "문의" 상태, 본인/어머니 모두 "가입전"

8 "문의" 배지 클릭 → 등록/대기 선택

우측 상단의 문의 배지를 클릭하면 두 가지 옵션이 나타납니다:

  • 등록하기: 바로 등록 프로세스 시작
  • 대기하기: 대기 목록에 추가
등록/대기 선택

"문의" 배지 클릭 → 등록하기 / 대기하기 옵션

9 "등록하기" 클릭 → 등록 체크리스트

"등록하기"를 클릭하면 등록 체크리스트 모달이 열립니다. 상태가 "등록예정"으로 변경됩니다.

체크리스트 항목 (총 9개):

#항목액션 버튼설명
1등록정보 입력-첫등원일시, 등록일, 결제일 설정 시 자동 완료
2학생 가입-학생이 CheckUS 앱에 가입하면 자동 완료
3학부모 가입가입 안내 발송보호자에게 가입 초대 발송
4좌석 배정좌석 배정좌석도에서 좌석 배정
5반 배정반 배정소속 반 지정
6등록 안내 알림톡 발송등록 안내 발송등록 완료 알림 발송
7첫 청구서발행하기첫 월 청구서 발행
8학부모 첫 상담-수동 체크 (상담 완료 시)
등록 체크리스트

등록 체크리스트 — 진행률 0/9, "가입 안내 발송" 버튼으로 학부모 초대 가능

"가입 안내 발송" 버튼: 체크리스트에서 바로 학부모/학생에게 가입 초대를 보낼 수 있습니다. 이것이 가입 요청(registration invite) 기능입니다. 자세한 내용은 등록 및 초대 섹션을 참고하세요.
E2E 확인 포인트 (학생 등록 전체 흐름)
1. + 버튼 클릭 → "새 학생 등록" 모달 열리는지
2. 이름 미입력 시 에러 또는 버튼 비활성
3. 학생전화번호 중복 시 빨강 경고 메시지
4. 보호자전화번호 "사용 가능한 번호" 초록 표시
5. "문의 추가" 클릭 → 목록에 새 학생 표시 + 토스트
6. 새 학생 행 클릭 → 상세 카드에 "문의" 상태 + "가입전" 표시
7. "문의" 배지 클릭 → 등록하기/대기하기 옵션 표시
8. "등록하기" 클릭 → 등록 체크리스트 모달 (0/9)
9. 체크리스트 내 "가입 안내 발송" 클릭 → 학부모 초대 발송
10. 등록정보(첫등원일시, 등록일, 결제일) 입력 → 체크 자동 완료

학생 상세 카드

학생 목록에서 학생 행을 클릭하면 상세 카드가 열립니다.

학생 상세 카드

김학생 상세 카드 — 기본정보 탭

카드 헤더: 이름, 아이디(username), 학교/학년/성별, "정보 수정" 버튼, 상태 배지(재원)
액션 메뉴 (··· 액션): 특이사항 추가, 상담하기, 알림장 작성, 반 관리, 알림톡, 수동등원, 지각/결석, 숙제배정, 비밀번호 초기화
탭: 기본정보 / 학습달력 / 타임라인
기본정보 탭 섹션:
- 연락처: 보호자 목록 (관계, 아이디, 전화번호, 알림톡 버튼)
- 소속 반: 반 이름, 담임 교사
- 출입코드: 4자리 (마스킹, 눈 아이콘으로 표시/숨김)
- 좌석 정보: 배정된 좌석 목록 + 좌석도 링크
- 등퇴원 이력: 등록/퇴원 날짜 타임라인
- 계정 정보: 아이디 표시
액션 메뉴

액션 메뉴 펼침 — 학생 관련 작업 목록

가입 요청 발송 (가입요청)

가입 요청이란?
교사가 학생/보호자에게 CheckUS 앱 가입 초대를 보내는 기능입니다. 초대받은 사용자가 회원가입하면 해당 캠퍼스가 자동 표시되고, 수락 시 별도 승인 없이 바로 연결됩니다.
1 발송 대상 선택

학생 목록에서 초대 보낼 학생을 체크박스로 선택합니다. 여러 명 동시 선택 가능.

선택 후 우클릭 또는 상세 카드에서 "가입 요청 발송"을 선택합니다.

발송 대상 유형:
- 학생 가입요청: 학생 본인 전화번호로 초대
- 보호자 가입요청: 등록된 보호자 전화번호로 초대
2 발송 모달 확인

모달 제목: "학생 가입요청 발송" 또는 "보호자 가입요청 발송"

설명: "N명의 [학생/보호자]에게 가입 요청을 발송합니다"

조건표시 내용
발송 예정 (초록 뱃지) 유효한 전화번호(10-11자리) 있음 학생명, 전화번호, 상태 뱃지
발송 불가 (아웃라인 뱃지) 전화번호 없음 / 보호자 정보 없음 학생명, 사유("번호 없음" 등)
3 "발송하기" 클릭

발송하기 클릭. 발송 가능 인원 0명이면 버튼 비활성.

결과가 토스트로 표시됩니다:

결과의미
N명 발송초대 알림톡 발송 완료
N명 자동 승인이미 계정 있어 바로 연결
N명 이미 연결됨이미 캠퍼스 소속
N명 실패발송 실패 (사유 포함)
E2E 전체 시나리오 (학생등록 → 가입요청 → 학생 회원가입)
Phase 1: 교사 웹 (localhost:3001)
1. teacher1/Password123!로 로그인
2. 학생 관리 → + 클릭 → 새 학생 등록 (이름: 홍길동, 전화번호: 010-2222-3333)
3. "문의 추가" → 학생 생성 확인
4. 홍길동 체크박스 선택 → 가입 요청 발송
5. "발송 예정" 탭에 홍길동 표시 확인 → "발송하기" 클릭
6. 토스트: "1명 발송" 확인

Phase 2: 학생 앱 (localhost:3002)
7. /register 접속 → 전화번호 010-2222-3333 입력 → 다음
8. 계정 설정 (이름/아이디/비밀번호) → "계정 생성"
9. "캠퍼스 가입하기" → 캠퍼스 가입 페이지
10. "초대받은 캠퍼스" 목록에 사오수지 표시 확인
11. 사오수지 선택 → 역할(학생) → 가입
12. 대시보드 진입 확인 (자동 승인)
API 엔드포인트:
POST /students/invite
요청: { studentIds: [1, 2], targetType: "STUDENT" | "GUARDIAN" }
응답: { sent, autoApproved, alreadyActive, failed, errors }
이전: 시작하기 다음: 반 관리