- QR 라벨에 개인정보 동의 안내 문구 추가 (18pt 작은 글씨)
- 웹앱에 핀테크 스타일 개인정보 동의 체크박스 추가
- 백엔드 API에서 개인정보 동의 검증 추가
- 개인정보보호법 준수 강화
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- 웹앱에서 적립 완료 시 최대 5초 내 POS GUI에 반영
- 기존 30초 대기 시간이 5초로 감소하여 사용자 경험 개선
- 시스템 부하는 무시할 수준 (5초 간격 DB 조회)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- on_qr_generated 메서드에서 성공 시 refresh_sales() 호출
- QR 생성 완료 즉시 QR 컬럼에 ✓ 체크마크 표시
- 30초 타이머 대기 없이 실시간 업데이트
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- claim_tokens 테이블 조회하여 각 거래의 QR 발행 여부 확인
- 테이블에 'QR' 컬럼 추가 (9번째 컬럼, 60px 너비)
- 발행됨: 초록색 체크마크(✓) 표시 (폰트 크기 14, 굵게)
- 미발행: 회색 하이픈(-) 표시
- 툴팁으로 'QR 발행 완료' / 'QR 미발행' 상태 안내
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- UserMileageDialog 클래스 추가
* 전화번호로 회원 정보 및 적립 내역 조회
* 회원 정보: 이름, 전화번호, 포인트 잔액, 가입일
* 적립 내역 테이블: 날짜, 구분(적립/사용), 포인트, 잔액, 설명
* 최근 50건 표시
- 적립 사용자 클릭 시 모달 팝업
* 적립자명, 전화번호, 적립포인트 컬럼 클릭 가능
* 녹색 볼드 + 밑줄로 클릭 가능 표시
* 툴팁 추가: '클릭하여 회원 마일리지 내역 보기'
- cellClicked 이벤트 핸들러 연결
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- '적립 사용자' 단일 컬럼을 '적립자명'과 '전화번호' 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>