프로젝트 배경
서로 다른 대학 세탁 장비 환경에서 결제 승인 이후 실제 기계 시작까지 한 건으로 추적해야 하는 운영 과제를 먼저 정리하고, 학생 Flutter 앱·운영자 웹·Node 원장·QR 결제·불일치 복구까지 실제 동작 형태로 사전 구현했습니다. 중복 결제 차단, 시작 실패 환불 검토, 역할 분리 시연 등 현장 운영 시나리오를 미리 검증해둔 덕분에, 착수 후 실사·연동 구간에 집중해 연내 런칭 가능한 운영 플랫폼을 완
프로젝트 성과
결제·Cycle·명령 한 건 원장
승인 결제마다 Cycle·START Command·RUNNING 상태가 같은 correlation ID로 남아 이용 성공을 금액만으로 판단하지 않습니다.
동시 결제·claim 충돌 차단
같은 멱등키와 기계 claim으로 중복 결제·중복 시작을 막아 시연 중에도 한 기계에 한 이용만 성립합니다.
시작 실패 불일치·환불 큐
기계 시작이 실패하면 불일치 큐와 환불 검토로 이어져 운영자가 원장을 펼쳐 처리합니다.
학생·운영자 역할 분리 시연
데모 계정 자동입력으로 공개 랜딩에서 역할 홈까지 바로 들어가 학생 이용과 운영 복구를 나눠 확인합니다.
Flutter·웹·API 동시 시연
웹 학생 경로와 Flutter 앱이 같은 Node API를 사용해 모바일·운영 화면을 한 배포에서 보여 줍니다.
핵심 기능
진행 단계
원장·역할 화면 설계
2026.07.
Payment·Cycle·Command·State 연결과 공개/학생/운영자 화면 분리를 확정했습니다.
프로젝트 상세
학생이 빈 기계를 확인하고 QR로 결제한 뒤 이용 상태를 보고, 운영자가 학교·기계·결제·장애·환불을 한 원장으로 다루는 무인 세탁 O2O 파일럿입니다. [학생 앱] 세탁실 혼잡도, 기계 가용성, QR 확인, 멱등 결제, Cycle 상태, 이용 내역·장애 신고를 제공합니다. [운영 원장] Payment·Cycle·Command·Machine State를 correlation ID로 맞추고 시작







