- Add main application files (main.py, models.py, schemas.py, etc.) - Add routers for all features (waiting, attendance, members, etc.) - Add HTML templates for admin and user interfaces - Add migration scripts and utility files - Add Docker configuration - Add documentation files - Add .gitignore to exclude database and cache files 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
236 lines
7.6 KiB
Markdown
236 lines
7.6 KiB
Markdown
# 교시 마감 시스템 사용 가이드
|
|
|
|
## 📖 개요
|
|
|
|
교시 마감 시스템은 특정 교시에 더 이상 대기자를 받지 않도록 마감 처리하는 기능입니다. 마감된 교시의 대기자 리스트는 그대로 유지되며, 비활성화 상태로 표시됩니다.
|
|
|
|
## 🎯 주요 기능
|
|
|
|
### 1. 교시 마감
|
|
- 특정 교시를 마감하여 신규 대기자 등록 차단
|
|
- 마감 후에도 기존 대기자 목록은 유지
|
|
- 실시간으로 모든 화면에 마감 상태 반영
|
|
|
|
### 2. 시각적 표시
|
|
- **마감된 교시 탭**: 빨간색으로 표시
|
|
- **마감 배지**: 인원수 옆에 "마감" 텍스트 표시
|
|
- **비활성화 상태**: 대기자 리스트 회색으로 표시
|
|
- **안내 메시지**: "🔒 마감된 교시입니다" 표시
|
|
|
|
### 3. 기능 제한
|
|
- 마감된 교시에는 신규 대기자 등록 불가
|
|
- 마감된 교시로 대기자 이동 불가 (왼쪽 화살표 비활성화)
|
|
- 마감된 교시의 대기자 관리 기능 비활성화
|
|
|
|
## 📱 사용 방법
|
|
|
|
### 교시 마감하기
|
|
|
|
1. **대기자 관리 페이지** 접속
|
|
- URL: `http://localhost:8000/manage`
|
|
|
|
2. **마감 대상 확인**
|
|
- 화면 상단의 "교시 마감" 섹션에서 마감 대상 교시 확인
|
|
- 예: "1교시 5명 대기 중"
|
|
|
|
3. **마감 버튼 클릭**
|
|
- "1교시 마감" 버튼 클릭
|
|
|
|
4. **확인 다이얼로그**
|
|
```
|
|
1교시을(를) 마감하시겠습니까?
|
|
마감 후 해당 교시에는 더 이상 대기자를 등록할 수 없습니다.
|
|
```
|
|
- "확인" 클릭
|
|
|
|
5. **마감 완료**
|
|
- 성공 메시지: "1교시이(가) 마감되었습니다."
|
|
- 교시 탭이 빨간색으로 변경
|
|
- "마감" 배지 표시
|
|
|
|
### 마감된 교시 확인하기
|
|
|
|
#### 교시 탭에서 확인
|
|
- **빨간색 탭**: 마감된 교시
|
|
- **파란색 탭**: 진행 중인 교시
|
|
|
|
#### 마감 배지
|
|
```
|
|
1교시 5명 마감
|
|
```
|
|
|
|
#### 대기자 리스트
|
|
- **상단 안내**: "🔒 마감된 교시입니다"
|
|
- **리스트**: 회색으로 표시, 모든 버튼 비활성화
|
|
|
|
### 마감 후 동작
|
|
|
|
#### 신규 대기자 등록 시
|
|
대기 접수 화면에서 등록 시도 시:
|
|
- 마감되지 않은 다음 교시에 자동 배치
|
|
- 모든 교시가 마감된 경우: "모든 교시가 마감되었습니다. 대기 접수를 받을 수 없습니다." 오류 메시지
|
|
|
|
#### 대기자 이동 시
|
|
- 마감된 교시로는 이동 불가
|
|
- 왼쪽 화살표 버튼이 비활성화됨
|
|
|
|
## 🖼️ 화면 설명
|
|
|
|
### 대기자 관리 화면
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────┐
|
|
│ 대기자 관리 ← 메인으로 │
|
|
├─────────────────────────────────────────────────┤
|
|
│ 📊 교시 마감 │
|
|
│ 1교시 5명 대기 중 [1교시 마감] │
|
|
└─────────────────────────────────────────────────┘
|
|
|
|
┌────────────────────────────────────────────────┐
|
|
│ [1교시 5명] [2교시 3명 마감] [3교시 2명] │ ← 교시 탭
|
|
└────────────────────────────────────────────────┘
|
|
↑ ↑
|
|
진행중 마감됨(빨강)
|
|
|
|
┌────────────────────────────────────────────────┐
|
|
│ 🔒 마감된 교시입니다 │ ← 마감 안내
|
|
├────────────────────────────────────────────────┤
|
|
│ 1 홍길동 010-1234-5678 1교시 1번째 │
|
|
│ [←] [→] [호출] [빈좌석] [출석] [취소] │ ← 모두 비활성화
|
|
│ 2 김철수 010-2345-6789 1교시 2번째 │
|
|
│ ... │
|
|
└────────────────────────────────────────────────┘
|
|
```
|
|
|
|
### 교시 탭 색상
|
|
|
|
| 상태 | 색상 | 배지 | 설명 |
|
|
|------|------|------|------|
|
|
| 진행 중 | 파란색 | 없음 | 대기자 등록 가능 |
|
|
| 마감됨 | 빨간색 | "마감" | 대기자 등록 불가 |
|
|
|
|
## ⚠️ 주의사항
|
|
|
|
### 1. 마감은 되돌릴 수 없음
|
|
- 현재 버전에서는 마감 취소 기능이 없습니다
|
|
- 신중하게 마감 처리하세요
|
|
|
|
### 2. 기존 대기자는 영향 없음
|
|
- 마감 전에 등록된 대기자는 정상적으로 처리 가능
|
|
- 출석, 취소 등의 상태 변경은 가능합니다
|
|
- 단, 마감된 교시 자체의 관리 화면에서는 버튼이 비활성화됩니다
|
|
|
|
### 3. 교시 순서 고려
|
|
- 마감된 교시 다음 교시로만 대기자 이동 가능
|
|
- 마감된 교시 이전 교시에서 마감된 교시로 이동 불가
|
|
|
|
### 4. 일마감과의 관계
|
|
- 교시 마감은 일마감과 별개입니다
|
|
- 일마감을 하려면 별도로 처리해야 합니다
|
|
|
|
## 🔧 문제 해결
|
|
|
|
### Q1. 마감 버튼이 비활성화되어 있어요
|
|
**원인**: 대기자가 없거나 이미 모든 교시가 마감됨
|
|
**해결**: 대기자가 있는 교시가 생기면 자동으로 활성화됩니다
|
|
|
|
### Q2. 마감한 교시를 취소하고 싶어요
|
|
**현재**: 마감 취소 기능이 없습니다
|
|
**임시 해결책**:
|
|
1. 데이터베이스 직접 수정 (권장하지 않음)
|
|
2. 일마감 후 다음 날 새로 시작
|
|
|
|
### Q3. 마감된 교시에 대기자가 등록되었어요
|
|
**원인**: 마감 전에 등록 프로세스가 시작된 경우
|
|
**해결**:
|
|
1. 해당 대기자를 다음 교시로 이동
|
|
2. 또는 취소 처리
|
|
|
|
### Q4. 화면이 자동으로 업데이트되지 않아요
|
|
**원인**: SSE 연결 끊김
|
|
**해결**:
|
|
1. 페이지 새로고침 (F5)
|
|
2. 브라우저 캐시 삭제
|
|
3. 서버 재시작
|
|
|
|
## 📊 API 엔드포인트
|
|
|
|
### 교시 마감
|
|
```http
|
|
POST /api/board/batch-attendance
|
|
Content-Type: application/json
|
|
|
|
{
|
|
"class_id": 1
|
|
}
|
|
```
|
|
|
|
**응답**:
|
|
```json
|
|
{
|
|
"message": "1교시이(가) 마감되었습니다.",
|
|
"waiting_count": 5
|
|
}
|
|
```
|
|
|
|
### 마감된 교시 목록 조회
|
|
```http
|
|
GET /api/board/closed-classes
|
|
```
|
|
|
|
**응답**:
|
|
```json
|
|
{
|
|
"closed_class_ids": [1, 2]
|
|
}
|
|
```
|
|
|
|
### 다음 마감 대상 조회
|
|
```http
|
|
GET /api/board/next-batch-class
|
|
```
|
|
|
|
**응답**:
|
|
```json
|
|
{
|
|
"class_id": 3,
|
|
"class_name": "3교시",
|
|
"class_number": 3,
|
|
"waiting_count": 7
|
|
}
|
|
```
|
|
|
|
## 💡 팁
|
|
|
|
### 효율적인 교시 마감 방법
|
|
|
|
1. **순차적 마감**: 1교시부터 순서대로 마감
|
|
2. **대기자 확인**: 마감 전 대기자 수와 출석 현황 확인
|
|
3. **이동 완료 후 마감**: 다른 교시로 이동할 대기자가 있다면 이동 후 마감
|
|
4. **확인 습관**: 마감 전 반드시 확인 다이얼로그 내용 확인
|
|
|
|
### 마감 타이밍
|
|
|
|
- ✅ 교시 시작 10분 전: 적절한 마감 시점
|
|
- ✅ 해당 교시 대기자가 모두 입장: 마감 가능
|
|
- ❌ 교시 시작 직후: 너무 이른 마감
|
|
- ❌ 다음 교시 시작 후: 너무 늦은 마감
|
|
|
|
## 🔗 관련 문서
|
|
|
|
- [개발 일지 - 교시 마감 시스템](./개발일지_교시마감시스템.md)
|
|
- [다음 할 일](../클로드.md)
|
|
|
|
## 📞 지원
|
|
|
|
문제가 발생하거나 질문이 있으신 경우:
|
|
1. 개발 일지 문서 참조
|
|
2. 로그 확인 (브라우저 개발자 도구 콘솔)
|
|
3. 서버 로그 확인
|
|
|
|
---
|
|
|
|
**버전**: 1.0.0
|
|
**최종 업데이트**: 2025-11-28
|
|
**작성자**: Claude (AI Assistant)
|