�౹ POS QR ���� �ý���
Go to file
시골약사 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
backend feat: POS GUI 적립자 정보 컬럼 분리 2026-01-23 16:46:07 +09:00
docs docs: Gitea 사용 방법 가이드 추가 2026-01-23 16:37:11 +09:00
.gitignore chore: .gitignore에 .claude/ 디렉토리 추가 2026-01-23 16:37:05 +09:00
CLAUDECODE.md docs: 프로젝트 전체 문서 작성 (CLAUDECODE.md) 2026-01-23 16:36:51 +09:00
README.md feat: 프로젝트 초기 구조 설정 2026-01-23 13:59:00 +09:00

약국 POS QR 적립 시스템

후향적 고객 매핑 및 마일리지 적립 시스템 (QR 기반)

프로젝트 개요

약국 POS 판매 시 영수증에 QR 코드를 인쇄하고, 고객이 나중에 QR을 스캔하여 카카오 로그인 후 마일리지를 적립받는 시스템입니다.

핵심 문제 해결

  • 문제: 약국 POS 판매의 80%는 고객 정보 없이 판매됨
  • 솔루션: 영수증 QR → 카카오 로그인 → 후향적 고객 매핑 → 마일리지 적립

프로젝트 구조

pharmacy-pos-qr-system/
├── backend/
│   ├── gui/              # PyQt5 GUI 애플리케이션
│   │   └── pos_sales_gui.py
│   ├── api/              # Flask API 서버
│   ├── db/               # 데이터베이스 설정
│   │   └── dbsetup.py
│   └── utils/            # 유틸리티 함수
│
├── web/                  # 웹 애플리케이션 (Next.js/React)
│
├── docs/                 # 문서
│   └── 후향적적립QR_POS만들기.md
│
└── docker/               # Docker 설정

개발 단계

Phase 1: POS 판매 조회 GUI

  • PyQt5 기반 GUI 구현
  • MSSQL SALE_MAIN 테이블 조회
  • 날짜별 판매 내역 표시
  • 상세 품목 조회 (더블클릭)

Phase 2: QR 토큰 생성 (진행 예정)

  • SQLite mileage.db 스키마 설계
  • claim_token 생성 로직
  • QR 코드 생성 및 라벨 인쇄
  • Flask API 백엔드 구축

Phase 3: 카카오 로그인 연동 (계획)

  • 카카오 로그인 API 연동
  • 웹앱 개발 (QR 스캔 랜딩 페이지)
  • 마이페이지 구현

Phase 4: 마일리지 시스템 (계획)

  • 마일리지 적립/사용 로직
  • POS 고객 연결 기능
  • 관리자 대시보드

기술 스택

Backend

  • Python 3.12+
  • PyQt5 - GUI 프로그램
  • Flask - REST API 서버
  • SQLAlchemy - ORM
  • pyodbc - MSSQL 연결

Database

  • MSSQL - 기존 POS 데이터 (PM_PRES)
  • SQLite - 마일리지 데이터 (mileage.db)

Web

  • Next.js or React - 웹앱 프레임워크
  • Tailwind CSS - 스타일링

설치 및 실행

1. Backend GUI (POS 판매 조회)

cd backend/gui
python pos_sales_gui.py

2. Flask API 서버 (Phase 2)

cd backend/api
pip install -r requirements.txt
python flask_app.py

3. 웹 애플리케이션 (Phase 3)

cd web
npm install
npm run dev

데이터베이스 구조

MSSQL (기존 POS)

  • PM_PRES.SALE_MAIN: 판매 헤더
  • PM_PRES.SALE_SUB: 판매 상세
  • PM_BASE.CD_PERSON: 고객 정보

SQLite (신규 마일리지)

  • users: 카카오 로그인 계정
  • customer_identities: 외부 로그인 매핑
  • claim_tokens: 영수증 QR 토큰
  • mileage_ledger: 마일리지 원장
  • pos_customer_links: POS 고객 연결

라이선스

MIT License

작성자

thug0bin (양구청춘약국)