Add waiting system application files
- 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>
This commit is contained in:
235
docs/가이드_교시마감시스템.md
Normal file
235
docs/가이드_교시마감시스템.md
Normal file
@@ -0,0 +1,235 @@
|
||||
# 교시 마감 시스템 사용 가이드
|
||||
|
||||
## 📖 개요
|
||||
|
||||
교시 마감 시스템은 특정 교시에 더 이상 대기자를 받지 않도록 마감 처리하는 기능입니다. 마감된 교시의 대기자 리스트는 그대로 유지되며, 비활성화 상태로 표시됩니다.
|
||||
|
||||
## 🎯 주요 기능
|
||||
|
||||
### 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)
|
||||
Reference in New Issue
Block a user