Files
waiting-system/QUICKSTART.md
Jun-dev f699a29a85 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>
2025-12-14 00:29:39 +09:00

260 lines
7.0 KiB
Markdown

# 빠른 시작 가이드
## 1. 설치 및 실행
### 가상환경 설정
```bash
# 프로젝트 디렉토리로 이동
cd waiting
# 가상환경 생성
python3 -m venv venv
# 가상환경 활성화
source venv/bin/activate # Mac/Linux
# 또는
venv\Scripts\activate # Windows
# 패키지 설치
pip install -r requirements.txt
```
### 서버 실행
```bash
python main.py
```
서버가 실행되면 http://localhost:8000 으로 접속하세요.
## 2. 초기 설정
### 2-1. 매장 설정
1. 메인 페이지에서 "매장 설정" 클릭
2. **매장 정보** 탭에서:
- 매장명 입력 (예: "행복 헬스장")
- 대기현황판 표시 클래스 수: 3 (기본값)
- 클래스당 줄 수: 1 (기본값)
- 대기자 리스트 방향: 세로 방향
- 관리자 비밀번호: 원하는 비밀번호 설정
3. "설정 저장" 클릭
### 2-2. 클래스 등록
1. 매장 설정 화면에서 **클래스 관리** 탭 클릭
2. "클래스 추가" 버튼 클릭
3. 교시 정보 입력:
- 교시 번호: 1
- 교시명: 1교시
- 시작 시간: 10:00
- 종료 시간: 11:00
- 최대 수용 인원: 10명
4. "저장" 클릭
5. 같은 방법으로 2교시, 3교시 등록:
- 2교시: 11:00 - 12:00
- 3교시: 13:00 - 14:00
## 3. 영업 시작
### 3-1. 개점하기
1. 메인 페이지로 이동
2. "개점하기" 버튼 클릭
3. 영업 상태가 "영업 중"으로 변경됨
4. 대기번호가 1번부터 시작됨
## 4. 대기 접수
### 4-1. 데스크에서 접수
1. 메인 페이지에서 "대기접수 (데스크)" 클릭
2. 키패드로 핸드폰번호 뒷자리 8자리 입력
- 예: 1234-5678
- 010은 자동으로 붙음 (01012345678)
3. "대기 접수" 버튼 클릭
4. 접수 완료 팝업 확인:
- 대기번호
- 배정된 교시
- 교시 내 순서
### 4-2. 모바일에서 셀프 접수
1. 모바일 기기로 http://localhost:8000/mobile 접속
2. "대기 접수" 탭에서 핸드폰번호 입력
3. "대기 접수" 버튼 클릭
4. 접수 결과 확인
### 4-3. 대기 조회 (모바일)
1. 모바일 화면에서 "대기 조회" 탭 클릭
2. 핸드폰번호 입력
3. "조회하기" 버튼 클릭
4. 현재 대기 정보 확인:
- 대기번호
- 교시
- 앞에 대기 중인 인원 수
## 5. 대기현황판 표시
### 5-1. 현황판 열기
1. TV 또는 모니터를 준비
2. 브라우저에서 http://localhost:8000/board 접속
3. 전체화면(F11)으로 전환
4. 실시간으로 대기 현황이 표시됨 (5초마다 자동 갱신)
### 5-2. 현황판 설명
- 교시별로 구분되어 표시
- 대기번호와 이름(또는 폰번호 뒷자리) 표시
- 각 교시별 대기자 수와 최대 인원 표시
## 6. 대기자 관리
### 6-1. 대기자 관리 화면
1. 메인 페이지에서 "대기자 관리" 클릭
2. 교시별 탭으로 구분됨
3. 각 대기자별로 다음 작업 가능:
### 6-2. 출석 처리
1. 대기자가 입장하면 "출석" 버튼 클릭
2. 해당 대기자가 목록에서 사라짐
### 6-3. 취소 처리
1. 대기자가 취소하면 "취소" 버튼 클릭
2. 해당 대기자가 목록에서 제거됨
### 6-4. 호출
1. 문제 발생 시 "호출" 버튼 클릭
2. 호출 횟수가 기록됨
### 6-5. 순서 변경
1. 위/아래 화살표 버튼으로 순서 조정
2. 같은 교시 내에서만 이동
### 6-6. 교시 이동
1. 좌/우 화살표 버튼으로 다른 교시로 이동
2. 예: 1교시 → 2교시로 변경
### 6-7. 일괄 출석
1. 화면 상단의 "○교시 일괄출석" 버튼 클릭
2. 해당 교시 전체 대기자가 출석 처리됨
3. 다음 교시가 일괄출석 대상이 됨
## 7. 회원 관리
### 7-1. 회원 개별 등록
1. 메인 페이지에서 "회원 관리" 클릭
2. "회원 등록" 버튼 클릭
3. 이름과 핸드폰번호 입력
4. "저장" 클릭
### 7-2. 회원 검색
1. 검색창에 이름 또는 핸드폰번호 입력
2. "검색" 버튼 클릭
3. 일치하는 회원 목록 표시
### 7-3. 엑셀 일괄 등록
#### 엑셀 파일 준비
- 1열: 이름
- 2열: 핸드폰번호 (01012345678 형식)
- 첫 번째 행은 헤더 (스킵됨)
예시:
```
이름 핸드폰번호
홍길동 01012345678
김철수 01098765432
이영희 01011112222
```
#### 업로드 절차
1. "엑셀 일괄등록" 버튼 클릭
2. 엑셀 파일 선택
3. "검수하기" 버튼 클릭
4. 검수 결과 확인:
- 유효한 데이터 개수
- 오류 데이터 목록 (이름 없음, 번호 형식 오류, 중복 등)
5. 오류가 없다면 "최종 등록" 클릭
6. 등록 완료
## 8. 일마감
### 8-1. 마감 처리
1. 영업 종료 시 메인 페이지로 이동
2. "일마감" 버튼 클릭
3. 확인 메시지 확인:
- 총 대기자 수
- 출석 수
- 취소 수
4. 확인 클릭
### 8-2. 마감 후
- 대기번호가 초기화됨
- 통계가 데이터베이스에 저장됨
- 다음 영업일에 다시 "개점하기" 필요
## 9. 일반적인 운영 흐름
```
아침 출근
개점하기 (메인 페이지)
대기 접수 시작 (데스크 또는 모바일)
대기현황판 표시 (TV/모니터)
대기자 관리 (출석/취소)
1교시 일괄출석
2교시, 3교시 순차 진행
영업 종료
일마감 (메인 페이지)
통계 확인
```
## 10. 자주 묻는 질문
### Q1. 대기번호는 언제 초기화되나요?
A. 일마감 후 다음 날 개점할 때 1번부터 다시 시작됩니다.
### Q2. 회원이 아닌 사람도 접수 가능한가요?
A. 네, 핸드폰번호만으로 접수 가능합니다. 회원인 경우 자동으로 이름이 표시됩니다.
### Q3. 교시를 잘못 배정했어요. 어떻게 변경하나요?
A. 대기자 관리 화면에서 좌/우 화살표 버튼으로 다른 교시로 이동 가능합니다.
### Q4. 현황판이 자동으로 갱신되나요?
A. 네, 5초마다 자동으로 갱신됩니다.
### Q5. 모바일에서 대기 조회가 안 돼요.
A. 핸드폰번호를 정확히 입력했는지 확인하세요. 010 뒤의 8자리를 입력해야 합니다.
### Q6. 엑셀 파일 형식이 안 맞아요.
A. 1열에 이름, 2열에 핸드폰번호 (01012345678 형식), 첫 행은 헤더입니다.
### Q7. 통계는 어디서 확인하나요?
A. 현재는 일마감 시 팝업으로 표시됩니다. API를 통해 조회 가능합니다.
## 11. 문제 해결
### 서버가 시작되지 않아요
1. 가상환경이 활성화되어 있는지 확인
2. 모든 패키지가 설치되었는지 확인: `pip list`
3. 포트 8000이 이미 사용 중인지 확인
### 데이터가 저장되지 않아요
1. SQLite 데이터베이스 파일 확인: `waiting_system.db`
2. 파일 권한 확인
### 현황판이 표시되지 않아요
1. 브라우저 콘솔(F12)에서 에러 확인
2. 개점이 되어 있는지 확인
3. 대기자가 등록되어 있는지 확인
## 12. 추가 정보
- API 문서: http://localhost:8000/docs
- 관리자 화면들은 모두 PC, 태블릿, 모바일에서 반응형으로 동작합니다.
- 대기현황판은 TV나 대형 모니터에 최적화되어 있습니다.
문제가 있거나 궁금한 점이 있다면 README.md를 참고하세요.