Commit Graph

14 Commits

Author SHA1 Message Date
3102940c09 feat: POS GUI 회원 마일리지 내역 조회 기능 추가
- UserMileageDialog 클래스 추가
  * 전화번호로 회원 정보 및 적립 내역 조회
  * 회원 정보: 이름, 전화번호, 포인트 잔액, 가입일
  * 적립 내역 테이블: 날짜, 구분(적립/사용), 포인트, 잔액, 설명
  * 최근 50건 표시
- 적립 사용자 클릭 시 모달 팝업
  * 적립자명, 전화번호, 적립포인트 컬럼 클릭 가능
  * 녹색 볼드 + 밑줄로 클릭 가능 표시
  * 툴팁 추가: '클릭하여 회원 마일리지 내역 보기'
- cellClicked 이벤트 핸들러 연결

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-23 17:03:34 +09:00
3b8f8b232c feat: POS GUI에 적립포인트 컬럼 추가
- 적립 사용자 정보와 함께 적립포인트 표시
- claim_tokens 테이블에서 claimable_points 조회
- 포인트 포맷: 천단위 콤마 + 'P' 접미사 (예: 1,500P)
- 녹색 볼드 텍스트, 우측 정렬
- 테이블 컬럼 수: 7개 → 8개
- 윈도우 너비: 1200px → 1300px

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-23 16:58:48 +09:00
30abf18e95 feat: POS GUI 적립자 정보 컬럼 분리
- '적립 사용자' 단일 컬럼을 '적립자명'과 '전화번호' 2개 컬럼으로 분리
- 각 컬럼에 녹색 볼드 텍스트 스타일 유지
- 테이블 컬럼 수: 6개 → 7개
- 윈도우 너비: 1100px → 1200px

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-23 16:46:07 +09:00
8190601340 docs: Gitea 사용 방법 가이드 추가 2026-01-23 16:37:11 +09:00
952ad773f1 chore: .gitignore에 .claude/ 디렉토리 추가 2026-01-23 16:37:05 +09:00
a6c14a6b75 docs: 프로젝트 전체 문서 작성 (CLAUDECODE.md)
- 프로젝트 개요 및 접속 URL
- 핵심 기능 (Phase 2, 3)
  * QR 라벨 인쇄
  * 간편 적립 웹앱
  * 관리자 페이지
  * POS GUI SQLite 연동
  * 실시간 동기화 (30초 자동 새로고침)
- 데이터베이스 스키마 (SQLite + MSSQL)
- API 엔드포인트 명세
- 보안 정책 및 설정
- 테스트 방법 및 트러블슈팅

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-23 16:36:51 +09:00
b4de6ff791 feat: 통합 테스트 및 샘플 코드 추가
- 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>
2026-01-23 16:36:41 +09:00
4581ebb7c5 feat: POS GUI SQLite 연동 및 실시간 동기화 기능 추가
- SQLite 적립 사용자 정보 표시 (이름, 전화번호)
  * MSSQL 판매 내역과 SQLite 마일리지 데이터 LEFT JOIN
  * 적립 사용자 녹색 볼드 텍스트로 강조
  * 6번째 컬럼 '적립 사용자' 추가
- QR 생성 기능 활성화
  * QRGeneratorThread로 백그라운드 처리
  * 미리보기 모드 체크박스 추가
  * QRLabelPreviewDialog 팝업 구현
- 자동 새로고침 (30초 주기)
  * QTimer로 주기적으로 refresh_sales() 호출
  * 실시간 적립 상태 반영
- 윈도우 크기 1100px로 확대

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-23 16:36:33 +09:00
3889e2354f feat: Flask 웹 서버 및 마일리지 적립 기능 구현
- 간편 적립: 전화번호 + 이름만으로 QR 적립
- 자동 회원 가입: 신규 사용자 자동 등록
- 마이페이지: 포인트 조회 및 적립 내역 확인
- 관리자 페이지: 전체 사용자/적립 현황 대시보드
- 거래 세부 조회 API: MSSQL 연동으로 판매 상품 상세 확인
- 모던 UI: Noto Sans KR 폰트, 반응형 디자인
- 포트: 7001 (리버스 프록시: https://mile.0bin.in)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-23 16:36:14 +09:00
fdc369c139 feat: MSSQL 테이블 스키마 확인 유틸리티 추가
- INFORMATION_SCHEMA 조회로 컬럼 정보 확인
- SALE_MAIN, SALE_SUB 테이블 구조 검증
- 컬럼명, 데이터타입, NULL 여부 출력
2026-01-23 16:36:03 +09:00
7aad05acb9 feat: QR 토큰 생성 및 라벨 인쇄 모듈 추가
- 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 코드 + 거래 정보 포함
  * 미리보기 모드 및 프린터 전송 지원
2026-01-23 16:35:56 +09:00
c2dc42c565 feat: SQLite 연결 기능 추가
- get_sqlite_connection() 메서드 추가
- mileage.db 자동 생성 및 스키마 초기화
- Row Factory 설정으로 dict 형태 결과 반환
- check_same_thread=False로 멀티스레드 지원
- close_all()에 SQLite 연결 종료 로직 추가
2026-01-23 16:35:47 +09:00
ba11cb9fdf fix: dbsetup import 경로 수정
backend/gui에서 backend/db로의 상대 경로 import 수정
sys.path에 backend 폴더 추가하여 db.dbsetup 모듈 접근 가능하도록 수정

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-23 14:00:28 +09:00
a9041e9c9e feat: 프로젝트 초기 구조 설정
- 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>
2026-01-23 13:59:00 +09:00