프로젝트 배경
1) 예상 리스크 및 대응 계획 - 마킹기 3종의 TCP 커맨드 포맷이 모두 달라 프로토콜 어댑터 추상화 설계가 필요하며, Strategy 패턴으로 공통 인터페이스를 정의하여 대응할 계획입니다. - 실시간 WebSocket 카운팅과 SQLite 원자적 트랜잭션 사이의 동시성 충돌 리스크가 있으며, WAL 모드 + 낙관적 잠금으로 처리할 계획입니다. - 오프라인 구간 FIFO 큐의 중복 전송·순서 역전 리
프로젝트 성과
마킹기 3종 프로토콜 어댑터 설계
Domino·Markem-Imaje·Videojet 3종의 TCP 커맨드 포맷 차이를 Strategy 패턴으로 추상화하여 공통 인터페이스로 통합하는 구조를 설계합니다.
생산 상태 FSM 이중 검증 구조 구축
ISSUED→SENDING→NORMAL/DISCARDED/SKIPPED 전이 룰을 XState(프론트)와 FastAPI(백엔드) 양단에 동일하게 적용하여 잘못된 상태 진입을 원천 차단하는 아키텍처를 구축합니다.
오프라인 FIFO 동기화 파이프라인 구현
클라이언트 IndexedDB와 서버 SQLite pending_queue를 조합한 양단 FIFO 큐를 설계하여 네트워크 단절 구간의 마킹 데이터 순서 보장 구조를 구현합니다.
Hard Lock 동시성 제어 메커니즘 설계
생산량 초과를 차단하는 SQLite 트랜잭션 레벨 Hard Lock을 설계하고, 웹 UI에서 잠금 상태를 실시간으로 시각화하는 배너 컴포넌트를 구현합니다.
역할 기반 화면 분리 체계 구현
JWT 역할 클레임 기반으로 작업자(현장 카운팅) / 관리자(전체 모니터링·설정) 화면을 라우트·API·UI 3중으로 분리하는 RBAC 체계를 구현합니다.
핵심 기능
진행 단계
요구사항 분석 및 DB 스키마 설계
2026.03.
생산 상태 FSM 정의, SQLite WAL 모드 스키마 설계, 마킹기 3종 프로토콜 분석
프로젝트 상세
1) 포트폴리오 소개 종량제봉투 생산 현장의 마킹기 3종(Domino, Markem-Imaje, Videojet) TCP/IP 통신 연동, QR코드 인쇄 카운팅, 상태 전이(ISSUED→SENDING→NORMAL/DISCARDED/SKIPPED) 관리를 웹 대시보드로 구현한 맞춤 데모입니다. 작업자·관리자 역할 분리, 오프라인 FIFO 동기화, Hard Lock 제어까지 공고의 핵심 요구사항을 그대로 반영하







