← Sandbox

🎫 QR 출석체크 허브 실행

행사장에서 QR 하나로 출석을 받는다. 참가자는 계정을 만들지 않는다 — 집행부가 연락처 명부를 올려 두면 사람마다 다른 링크가 나가고, 받은 사람은 그 링크를 누르는 것만으로 자기 QR 을 얻는다. 행사 당일에는 카메라 달린 PC 를 몇 대든 켜서 같은 출석부에 받는다.

관리자 화면 열기 →

흐름

이렇게 정한 까닭

접근

관리자
https://khmuqr.duckdns.org/attend/ (비밀번호)
참가자
https://khmuqr.duckdns.org/q/<토큰> · 텔레그램 @khmuqrbot
스캐너
https://khmuqr.duckdns.org/s/<토큰> (행사마다 다름)

https 라야 한다. 브라우저는 안전한 연결이 아니면 카메라를 내주지 않아, http://…:5070 으로는 스캐너가 아예 열리지 않는다.

구성

스택
Flask · SQLite(WAL) · qrcode/Pillow · Telethon · jsQR
배포
허브 컨테이너(sandbox) + 봇 attend-bot + 발송기 attend-sender
외부 주소
khmuqr.duckdns.org (bargaining 의 Caddy 가 5070 으로 프록시)
소스
sandbox/Labs/attend · 문서 docs/ATTEND.md
데이터
Labs/attend/data/attend.db (비공개, git 제외)
검사
Labs/attend/tests/ 5종 189개

아직 남은 것

※ 이 실험실은 허브 안에서 돕니다(/attend/). 관리자 화면은 비밀번호로 잠겨 있고, 참가자·스캐너 화면은 각자의 토큰 링크로만 열립니다. 화면은 허브의 어두운 테마를 물려받지 않고 따로 밝은 테마로 만들었습니다 — 반쯤 물려받았더니 손대지 않은 입력칸이 깨져 보였습니다.