- 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>
260 lines
7.0 KiB
Markdown
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를 참고하세요.
|