본문으로 건너뛰기
Max
전체 프로젝트 목록으로 돌아가기
네이티브 데스크톱 · 거래 안전성·2025.10 – 현재
v2 개발 중 · 최종 거래 실행 비활성

KBPM: KREAM 네이티브 거래 작업공간

KREAM 보관판매 자동화에서 시작해 거래·보유·발매 정보를 모아 보는 무료 네이티브 데스크톱 작업공간으로 발전시키고 있습니다. SwiftUI와 WinUI 3 화면에 Python sidecar를 연결하고, 상품 검색·계정 내역·관심 상품·수수료 미리보기를 구현했습니다.

담당 역할제품 설계, macOS·Windows 네이티브 UI 및 Python 엔진 개발
핵심 제약로그인 성공과 실제 계정 데이터 조회·화면 표시의 성공을 각각 확인해야 하는 외부 서비스 연동
해결 아키텍처macOS SwiftUI와 Windows WinUI 3 셸이 Python sidecar를 자식 프로세스로 소유하고 IPC로 조회 결과와 상태를 전달하도록 구성
검증된 결과상품 검색, 계정 내역, 관심 상품과 보관판매·입찰 비용 미리보기 화면 구현

검증 가능한 증거 자료

01.내가 맡은 역할

  • 제품 설계, macOS·Windows 네이티브 UI 및 Python 엔진 개발
  • 상품·계정 데이터를 네이티브 화면으로 전달하는 계약과 프로세스 수명주기 설계
  • 거래 미리보기, 승인 조건, 실행 차단 및 로컬 검증 체계 구축

02.시작 당시 상황

보관판매 신청과 재고 확인을 반복하는 수고를 줄이기 위해 Python 기반 데스크톱 도구로 시작했습니다.

사용자 PC마다 다른 브라우저 세션, 운영체제, 패키징 제약을 겪으며 기능뿐 아니라 조회 결과의 정확성과 거래 안전성을 제품의 중심으로 옮겼습니다.

03.실제로 마주친 제약

[1]로그인 성공과 실제 계정 데이터 조회·화면 표시의 성공을 각각 확인해야 하는 외부 서비스 연동
[2]입찰·보관판매 등 실제 거래는 비용과 상태 변경을 수반하므로 불확실한 결과를 자동 재시도할 수 없음
[3]macOS와 Windows의 UI·프로세스·서명 환경 차이

04.내가 내린 주요 판단

macOS SwiftUI와 Windows WinUI 3 셸이 Python sidecar를 자식 프로세스로 소유하고 IPC로 조회 결과와 상태를 전달하도록 구성
KREAM API 조회와 브라우저 세션을 연결하되, 상품·옵션·계정 근거가 부족하면 거래 단계로 진행하지 않도록 설계
조회·수수료 미리보기와 실제 제출을 분리하고, 현재 버전에서는 최종 거래 worker를 비활성 상태로 유지
GitHub Actions를 통한 자동 배포 대신, 소스 버전과 연결된 로컬 검증 기록으로 공통·macOS·Windows·실서비스·서명 상태를 구분

[심층 분석]거래를 한곳에서 확인하는 네이티브 작업 공간

보관판매 대기열로 시작한 KBPM은 현재 내 거래·입찰 관리·관심 상품·상품 검색·발매 정보를 연결하는 v2를 개발 중입니다. 검색과 거래 내역을 네이티브 화면에 표시하고, 상품·옵션을 선택해 보관판매 조건이나 구매·판매 입찰의 비용과 약관을 미리 확인할 수 있도록 확장했습니다.

macOS는 SwiftUI, Windows는 WinUI 3 셸이 화면과 앱 수명을 담당합니다. 공용 로직은 자식 프로세스로 실행되는 Python sidecar에 두고, 표준 입출력의 JSON-RPC로 연결합니다. 브라우저 세션과 SQLite 데이터 관리를 두 플랫폼에서 공유하면서 운영체제별 화면과 메뉴 막대·트레이 동작을 분리했습니다.

// API 조회와 네이티브 표시의 연결
1. 백그라운드는 Headless Chrome for Testing, 로그인·재인증만 사용자 창으로 실행
2. KREAM API 응답을 검증하고 계정 자격증명은 브라우저 내부에 유지
3. 값과 이미지를 현재 화면에 연결한 뒤 표시 확인 응답(ACK) 전송
4. 20행 단위 페이지 조회와 탭 캐시, 계정·검색 변경 뒤 늦은 응답 폐기

2026년 9월 8일 개발 기록에는 macOS 실제 계정의 대표 거래 목록, 상품 검색, 스크롤 추가 조회와 탭 이동 후 상태 복원이 확인되어 있습니다. 창을 닫고 다시 열 때 같은 sidecar와 로그인 상태를 유지하는 동작도 확인했습니다. Python 회귀, macOS 테스트·빌드와 공용 C# 계약 검증은 별도로 기록했습니다.

실제 입찰 생성·변경, 자동 감시 실행과 보관판매 최종 신청은 비활성 상태입니다. 입찰 미리보기의 실제 화면 조작, Windows 11 네이티브 실행, 서명·공증과 v2 공개 배포는 아직 검증을 마치지 않았습니다. KBPM은 KREAM과 무관한 독립·비공식 프로젝트입니다.

2025년 KBPM v1의 상품 검색 결과 화면

v1 화면 기록 · 상품 검색

2025년 배포 버전의 검색 결과입니다. 현재 개발 중인 v2 화면과는 다릅니다.

2025년 KBPM v1의 보관판매 신청 대기열 화면

v1 화면 기록 · 보관판매 대기열

초기 신청 대기열과 진행 상태 화면입니다. v2의 자동 실행은 아직 비활성 상태입니다.

05.구현하거나 배포한 결과

  • 상품 검색, 계정 내역, 관심 상품과 보관판매·입찰 비용 미리보기 화면 구현
  • SwiftUI·WinUI 3 네이티브 셸과 Python sidecar 연결
  • 9월 8일 macOS 목록·페이지 이동·창 수명주기 확인 기록

06. 실패 또는 남은 한계

  • 최종 거래 제출은 비활성 상태이며, 일부 macOS 확인 결과를 Windows·전체 KREAM 거래·공개 배포 검증으로 확대하지 않습니다.
  • 외부 서비스의 로그인·데이터 구조가 바뀌면 조회 계약과 화면 표시를 다시 확인해야 합니다.

07. 다음 설계 및 개편 계획

  • 실제 Windows와 KREAM 주요 흐름의 검증 범위를 넓히고, 최종 제출 활성화에 필요한 근거를 확보
  • 서명·공증·공개 배포 결과를 기능 구현과 별도로 확인

08.사용 기술과 선택 이유

기술선택 이유 및 적용 위치실제 겪은 제약 및 배운 점
Python
조회·거래 제어 엔진과 네이티브 셸을 연결하는 sidecar프로세스 종료와 불완전한 조회 결과를 UI 상태에 반영
Swift / SwiftUI & WinUI 3
macOS·Windows의 네이티브 화면과 창 수명주기 관리공통 계약을 사용하되 OS별 실행 증거는 따로 확인
KREAM API & Browser Session
상품·계정 조회와 로그인 세션 연계세션 보유만으로 조회나 거래 성공을 판정하지 않음
Local Validation
현재 소스 버전과 연결된 기능·실행·배포 검증 기록실행하지 않은 플랫폼과 거래는 미검증 상태로 유지
다음 프로젝트MCP Publishing복사와 업로드를 반복하던 작업을 실제 배포 흐름으로 연결
사례 연구 보기다음 프로젝트: MCP Publishing