- '적립 사용자' 단일 컬럼을 '적립자명'과 '전화번호' 2개 컬럼으로 분리
- 각 컬럼에 녹색 볼드 텍스트 스타일 유지
- 테이블 컬럼 수: 6개 → 7개
- 윈도우 너비: 1100px → 1200px
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- 프로젝트 개요 및 접속 URL
- 핵심 기능 (Phase 2, 3)
* QR 라벨 인쇄
* 간편 적립 웹앱
* 관리자 페이지
* POS GUI SQLite 연동
* 실시간 동기화 (30초 자동 새로고침)
- 데이터베이스 스키마 (SQLite + MSSQL)
- API 엔드포인트 명세
- 보안 정책 및 설정
- 테스트 방법 및 트러블슈팅
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- test_integration.py: QR 토큰 생성 및 라벨 테스트
- samples/barcode_print.py: Brother QL 프린터 예제
- samples/barcode_reader_gui.py: 바코드 리더 GUI 참고 코드
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- SQLite 적립 사용자 정보 표시 (이름, 전화번호)
* MSSQL 판매 내역과 SQLite 마일리지 데이터 LEFT JOIN
* 적립 사용자 녹색 볼드 텍스트로 강조
* 6번째 컬럼 '적립 사용자' 추가
- QR 생성 기능 활성화
* QRGeneratorThread로 백그라운드 처리
* 미리보기 모드 체크박스 추가
* QRLabelPreviewDialog 팝업 구현
- 자동 새로고침 (30초 주기)
* QTimer로 주기적으로 refresh_sales() 호출
* 실시간 적립 상태 반영
- 윈도우 크기 1100px로 확대
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- 간편 적립: 전화번호 + 이름만으로 QR 적립
- 자동 회원 가입: 신규 사용자 자동 등록
- 마이페이지: 포인트 조회 및 적립 내역 확인
- 관리자 페이지: 전체 사용자/적립 현황 대시보드
- 거래 세부 조회 API: MSSQL 연동으로 판매 상품 상세 확인
- 모던 UI: Noto Sans KR 폰트, 반응형 디자인
- 포트: 7001 (리버스 프록시: https://mile.0bin.in)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- qr_token_generator.py: SHA256 기반 1회성 토큰 생성
* 3% 마일리지 적립 정책
* 30일 유효기간
* nonce 기반 중복 방지
* QR_BASE_URL: https://mile.0bin.in/claim
- qr_label_printer.py: Brother QL-810W 라벨 인쇄
* 800x306px 라벨 이미지 생성
* QR 코드 + 거래 정보 포함
* 미리보기 모드 및 프린터 전송 지원
- get_sqlite_connection() 메서드 추가
- mileage.db 자동 생성 및 스키마 초기화
- Row Factory 설정으로 dict 형태 결과 반환
- check_same_thread=False로 멀티스레드 지원
- close_all()에 SQLite 연결 종료 로직 추가
backend/gui에서 backend/db로의 상대 경로 import 수정
sys.path에 backend 폴더 추가하여 db.dbsetup 모듈 접근 가능하도록 수정
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- PyQt5 POS 판매 조회 GUI (Phase 1 완료)
- Flask API 서버 스켈레톤 (Phase 2 준비)
- SQLite 마일리지 DB 스키마 설계
- 프로젝트 문서 및 README 추가
- 기본 디렉터리 구조 생성
Phase 1: POS 판매 내역 조회 GUI 완료
Phase 2: QR 토큰 생성 및 마일리지 적립 (예정)
Phase 3: 카카오 로그인 연동 (예정)
Phase 4: 마일리지 시스템 완성 (예정)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>