과제 제출하기
학생이 과제를 확인하고 제출하는 방법을 설명합니다.
목차
과제 목록 확인
페이지 접근
/c/{community-slug}/assignments 페이지에서 모든 과제를 확인할 수 있습니다.
과제 상태별 탭
과제는 다음 세 가지 탭으로 구분됩니다:
-
전체 (All)
- 모든 과제 표시
- 제출 여부 확인 가능
-
미제출 (Pending)
- 아직 제출하지 않은 과제
- 마감일이 가까운 순서로 정렬
- 긴급한 과제 우선 확인
-
제출완료 (Submitted)
- 제출한 과제
- 채점 대기 중이거나 채점 완료된 과제
- 점수 및 피드백 확인 가능
과제 카드 정보
각 과제 카드에는 다음 정보가 표시됩니다:
- 과제 제목
- 과제 설명 (요약)
- 마감일
- 배점 (총 점수)
- 제출 상태 (제출 완료/미제출)
- 채점 상태 (채점 완료/대기 중)
- 획득 점수 (채점 완료 시)
과제 제출하기
1. 과제 상세 페이지 접근
과제 카드를 클릭하면 상세 페이지로 이동합니다:
/c/{community-slug}/assignments/{assignment-id}
2. 과제 내용 확인
상세 페이지에서 다음 정보를 확인합니다:
- 과제 제목 및 설명 (BlockNote 마크다운)
- 마감일
- 배점
- 첨부 파일 (있는 경우)
3. 답안 작성
BlockNote 에디터 사용
- 마크다운 형식으로 답안 작성
- 이미지 업로드 가능 (복사/붙여넣기 지원)
- 자동 저장 (초안 기능 없음, 제출 시 저장)
4. 제출하기
- "제출하기" 버튼 클릭
- 제출 확인 메시지
- 제출 완료 후 수정 불가 (재제출 기능 있음)
제출 제한
- 마감일 이후에는 제출 불가
- 제출하지 않으면 0점 처리 가능 (선생님 재량)
제출물 확인 및 수정
제출물 확인
제출한 과제는 "제출완료" 탭에서 확인할 수 있습니다:
- 제출한 답안 내용
- 제출 일시
- 채점 상태
재제출
제출한 과제를 수정하고 싶은 경우:
- 과제 상세 페이지 접근
- 기존 제출물 확인
- "수정하기" 버튼 클릭 (마감일 전까지만 가능)
- 답안 수정
- 재제출
주의사항:
- 마감일 이후에는 재제출 불가
- 채점이 완료된 후에는 수정 불가 (선생님 설정에 따라 다름)
피드백 및 점수 확인
채점 완료 알림
선생님이 채점을 완료하면:
- 알림 수신 (벨 아이콘)
- 이메일 알림 (설정에 따라)
점수 확인
채점이 완료된 과제는:
- 획득 점수 표시
- 배점 대비 점수 (예: 85/100)
- 백분율 표시 (예: 85%)
피드백 확인
선생님이 작성한 피드백:
- BlockNote 마크다운 형식
- 개선 사항, 잘한 점, 추가 설명 등
- 이미지 첨부 가능
포인트 획득
과제 제출 시 포인트 획득:
- 제출만 해도 +20P
- 점수와 무관하게 제출 자체에 포인트 부여
- 레벨 업에 기여
관련 파일
페이지
-
/app/c/[slug]/assignments/page.tsx(라인 1-250)- 과제 목록 페이지
- 탭별 필터링
- 제출 상태별 정렬
-
/app/c/[slug]/assignments/[id]/page.tsx(라인 1-300)- 과제 상세 페이지
- 답안 작성 및 제출
- 피드백 확인
API 라우트
-
/app/api/assignments/submit/route.ts(라인 1-150)- POST: 과제 제출
- 마감일 검증
- 포인트 부여
-
/app/api/assignments/[id]/submission/route.ts(라인 1-100)- GET: 제출물 조회
- PUT: 재제출
컴포넌트
-
/components/assignment-list.tsx(라인 1-200)- 과제 목록 UI
- 탭 및 필터링
-
/components/assignment-submit-form.tsx(라인 1-150)- 답안 작성 폼
- BlockNote 에디터 통합
주요 기능
마감일 표시
마감일에 따라 색상으로 구분:
- 24시간 이내: 빨간색 (긴급)
- 3일 이내: 주황색 (주의)
- 여유 있음: 기본 색상
제출 상태 배지
- 제출 완료: 초록색 체크마크
- 미제출: 회색 또는 빨간색 (마감 임박)
- 채점 완료: 파란색 + 점수 표시
정렬 옵션
과제 목록 정렬:
- 마감일 순 (기본)
- 최신순
- 점수순 (채점 완료된 과제)
사용 예시
1. 과제 확인
학생: Assignments 페이지 접근
시스템: 3개의 과제 표시 (1개 제출 완료, 2개 미제출)
2. 과제 제출
학생: "한국 음식 소개" 과제 클릭
학생: 답안 작성 (BlockNote 에디터)
학생: "제출하기" 버튼 클릭
시스템: "과제가 제출되었습니다. +20P" 메시지
3. 피드백 확인
알림: "한국 음식 소개 과제가 채점되었습니다."
학생: 과제 상세 페이지 접근
표시: 점수 85/100, 피드백 "문법이 좋습니다. 어휘를 더 다양하게 사용해 보세요."
데이터베이스 스키마
assignments 테이블
{
id: string,
communityId: string,
title: string,
description: string, // BlockNote JSON
dueDate: Date,
totalPoints: number,
createdAt: Date
}
submissions 테이블
{
id: string,
assignmentId: string,
studentId: string,
content: string, // BlockNote JSON
submittedAt: Date,
score: number | null, // 채점 전에는 null
feedback: string | null, // BlockNote JSON
gradedAt: Date | null,
gradedBy: string | null
}
제출 워크플로우
1. 제출 전
상태: 미제출
버튼: "제출하기" (활성화)
마감일: 확인 가능
2. 제출 중
상태: 제출 중...
버튼: "제출하기" (비활성화)
로딩: 스피너 표시
3. 제출 완료
상태: 제출 완료
버튼: "수정하기" (마감일 전까지만)
알림: "+20P 획득"
4. 채점 대기
상태: 채점 대기 중
점수: 표시 안 됨
피드백: 표시 안 됨
5. 채점 완료
상태: 채점 완료
점수: 85/100 표시
피드백: 선생님 피드백 표시
수정: 불가 (선생님 설정에 따라)
문제 해결
제출이 안 되는 경우
- 마감일이 지났는지 확인
- 답안이 비어있지 않은지 확인
- 네트워크 연결 확인
제출물이 안 보이는 경우
- 새로고침 시도
- "제출완료" 탭 확인
- 제출이 완료되었는지 확인
재제출이 안 되는 경우
- 마감일이 지났을 수 있음
- 채점이 이미 완료되었을 수 있음
- 선생님이 재제출을 허용하지 않을 수 있음
모범 사례
과제 제출 전 체크리스트
- 과제 요구사항을 모두 충족했는지 확인
- 맞춤법 및 문법 검토
- 첨부 파일이 필요한 경우 업로드 확인
- 제출 전 내용 한 번 더 검토
- 마감일 충분히 여유 있게 제출
효과적인 답안 작성
- 요구사항을 정확히 파악
- 구조화된 답안 작성 (서론-본론-결론)
- 예시와 설명 포함
- BlockNote 마크다운 기능 활용 (제목, 목록, 굵게 등)
- 이미지로 추가 설명 (필요 시)
피드백 활용
- 선생님 피드백 꼼꼼히 읽기
- 개선 사항 메모
- 다음 과제에 반영
- 모르는 부분은 선생님께 질문