프로젝트 배경
롯데백화점 ESL Android PDA 앱 개발 프로젝트
1) 문제점 (Problem)
- 비효율적인 수기 관리: 수만 개의 상품 정보를 종이 가격표로 관리함에 따라 가격 변동 및 정보 수정 시 막대한 시간과 인적 자원이 소모됨.
- 스캔 성능 및 UI 병목: 기존 시스템에서 대량의 바코드 스캔 시 UI 스레드 점유로 인해 화면이 멈추거나 매칭 속도가 저하되어 현장 직원의 업무 흐름이 끊기는 문제 발생.
- 네트워크 불안정성: 백화점 내 음영 지역(창고, 지하 등)에서 Wi-Fi 연결이 불안정할 경우, 스캔한 데이터가 유실되거나 작업이 중단되는 리스크 존재.
- 보안 및 데이터 무결성 우려: 기업 내부 데이터 및 사용자 세션 정보가 PDA 단말기에 평문으로 노출될 위험과 서버 통신 시 가로채기 공격에 대한 방어 필요.
2) 프로젝트 목표 (Project Goal)
- 리테일 테크 기반 업무 자동화: 상품 정보와 전자가격표시기(ESL) 간의 실시간 매칭 시스템을 구축하여 종이 없는(Paperless) 매장 운영 환경 조성.
- 고성능 스캐닝 경험 제공: 수천 번의 반복 스캔에도 지연 없는 즉각적인 피드백과 매칭 성능 확보.
- 데이터 연속성 보장: 오프라인 상태에서도 중단 없는 작업이 가능하며, 네트워크 복구 시 데이터가 자동으로 동기화되는 안정적인 아키텍처 구현.
- 엔터프라이즈급 보안 강화: 단말기 내 저장 데이터 암호화 및 서버 통신 보안 강화를 통해 기업 핵심 정보 보호.
3) 주안점 (Focus Points)
- 비동기 처리를 통한 성능 최적화: Kotlin Coroutine과 Flow를 도입하여 바코드 스캐너의 입력을 비동기로 처리함으로써, UI 프리징 현상을 완전히 제거하고 실시간 매칭 속도를 극대화했습니다.
- Offline-First 전략 기반 안정성 확보: 네트워크 단절 상황에 대비하여 Room DB에 데이터를 임시 저장하고, WorkManager를 활용한 자동 재시도 큐 로직을 설계하여 어떤 환경에서도 데이터 유실이 없도록 구현했습니다.
- 계층화된 보안 아키텍처: SSL Pinning을 통해 서버 통신의 신뢰성을 확보하고, EncryptedSharedPreferences를 사용하여 단말기 내 민감 정보를 암호화 관리함으로써 보안 등급을 높였습니다.
- 현장 맞춤형 UX 설계: 신선식품, 축산, 와인 등 상품군마다 다른 입력 항목을 효율적으로 처리하기 위해 UI를 모듈화하고, '상품 복사 기능'을 구현하여 현장 직원의 단순 반복 업무를 30% 이상 단축하는 데 집중했습니다.
1) 문제점 (Problem)
- 비효율적인 수기 관리: 수만 개의 상품 정보를 종이 가격표로 관리함에 따라 가격 변동 및 정보 수정 시 막대한 시간과 인적 자원이 소모됨.
- 스캔 성능 및 UI 병목: 기존 시스템에서 대량의 바코드 스캔 시 UI 스레드 점유로 인해 화면이 멈추거나 매칭 속도가 저하되어 현장 직원의 업무 흐름이 끊기는 문제 발생.
- 네트워크 불안정성: 백화점 내 음영 지역(창고, 지하 등)에서 Wi-Fi 연결이 불안정할 경우, 스캔한 데이터가 유실되거나 작업이 중단되는 리스크 존재.
- 보안 및 데이터 무결성 우려: 기업 내부 데이터 및 사용자 세션 정보가 PDA 단말기에 평문으로 노출될 위험과 서버 통신 시 가로채기 공격에 대한 방어 필요.
2) 프로젝트 목표 (Project Goal)
- 리테일 테크 기반 업무 자동화: 상품 정보와 전자가격표시기(ESL) 간의 실시간 매칭 시스템을 구축하여 종이 없는(Paperless) 매장 운영 환경 조성.
- 고성능 스캐닝 경험 제공: 수천 번의 반복 스캔에도 지연 없는 즉각적인 피드백과 매칭 성능 확보.
- 데이터 연속성 보장: 오프라인 상태에서도 중단 없는 작업이 가능하며, 네트워크 복구 시 데이터가 자동으로 동기화되는 안정적인 아키텍처 구현.
- 엔터프라이즈급 보안 강화: 단말기 내 저장 데이터 암호화 및 서버 통신 보안 강화를 통해 기업 핵심 정보 보호.
3) 주안점 (Focus Points)
- 비동기 처리를 통한 성능 최적화: Kotlin Coroutine과 Flow를 도입하여 바코드 스캐너의 입력을 비동기로 처리함으로써, UI 프리징 현상을 완전히 제거하고 실시간 매칭 속도를 극대화했습니다.
- Offline-First 전략 기반 안정성 확보: 네트워크 단절 상황에 대비하여 Room DB에 데이터를 임시 저장하고, WorkManager를 활용한 자동 재시도 큐 로직을 설계하여 어떤 환경에서도 데이터 유실이 없도록 구현했습니다.
- 계층화된 보안 아키텍처: SSL Pinning을 통해 서버 통신의 신뢰성을 확보하고, EncryptedSharedPreferences를 사용하여 단말기 내 민감 정보를 암호화 관리함으로써 보안 등급을 높였습니다.
- 현장 맞춤형 UX 설계: 신선식품, 축산, 와인 등 상품군마다 다른 입력 항목을 효율적으로 처리하기 위해 UI를 모듈화하고, '상품 복사 기능'을 구현하여 현장 직원의 단순 반복 업무를 30% 이상 단축하는 데 집중했습니다.
프로젝트 성과
실시간 매칭 성능 향상
비동기 구조로 스캔 시 UI 멈춤 제거, 매칭 속도 개선
보안·안정성 강화
SSL Pinning, 암호화 저장, 자동 재전송 큐로 데이터 무결성 제고
업무 효율 증대
PDA 기반 상품·태그 관리 자동화로 재고·태그 업데이트 시간 단축
유지보수성
Kotlin 모듈화로 가독성·재사용성 향상
핵심 기능

로그인 및 사용자 편의 기능
- 아이디 저장 및 자동 로그인 기능 구현
- EncryptedSharedPreferences를 적용하여 로그인 정보 암호화 저장 및 세션 자동 복원
- EncryptedSharedPreferences를 적용하여 로그인 정보 암호화 저장 및 세션 자동 복원

서버 연결 및 환경설정
- 서버 환경설정 메뉴 개발 (서버 IP, 포트, 환경 선택)
- Retrofit 기반 서버 통신 구조 개선 및 SSL Pinning 적용으로 통신 보안 강화
- Retrofit 기반 서버 통신 구조 개선 및 SSL Pinning 적용으로 통신 보안 강화

태그 매칭 기능(바코드 스캐너 연동 (PM85 전용))
- 상품명, 상품코드, ESL(전자가격표시기) 코드 간 매칭 로직 개발
- Coroutine + Flow 기반 비동기 스캐너 이벤트 처리로 PM85 단말의 실시간 매칭 속도 향상
- Coroutine + Flow 기반 비동기 스캐너 이벤트 처리로 PM85 단말의 실시간 매칭 속도 향상

상품 관리 기능
- 상품 정보 수기 등록 및 조회 기능 상세 구현
- 공통 입력항목: 상품코드, 상품명, 상품유형, 원산지, 브랜드명, 진열일, 판매가, 행사가, 단위, 총량 등
- 공통 입력항목: 상품코드, 상품명, 상품유형, 원산지, 브랜드명, 진열일, 판매가, 행사가, 단위, 총량 등

태그 초기화 기능
- 등록된 ESL 태그 일괄 초기화 기능 개발
- 초기화 실패 시 자동 재시도 큐 로직 추가 (WorkManager 활용)
- 초기화 실패 시 자동 재시도 큐 로직 추가 (WorkManager 활용)
진행 단계
개발
2023.12.
로그인 암호화·자동로그인, 서버환경설정·SSL Pinning, ESL 태그 매칭, 상품군별 관리, PM85 스캐너 연동 및 오프라인 자동 재전송 구현
테스트
2024.04.
버그 수정 및 기능 개선
런칭
2024.04.
앱스토어 미출시 내부 직원용 앱으로, QA·현장 테스트 후 서명된 APK를 사내 배포 채널을 통해 PDA 단말에 직접 배포·운영
프로젝트 상세
롯데백화점 ESL(전자가격표시기) 운영 관리 PDA 앱
1) 포트폴리오 소개
서비스 카테고리: 리테일 테크(Retail Tech) / 물류·재고 관리 솔루션
메인 타깃: 롯데백화점 현장 관리자 및 매장 운영 스태프
간략 소개: 백화점 내 수만 개의 상품과 전자가격표시기(ESL)를 실시간으로 매칭하고 관리하는 B2B 전용 네이티브 Android PDA 애플리케이션입니다. 복잡한 상품 정보를 현장에서 즉시 수정하고, 대규모 태그 데이터를 빠르고 정확하게 동기화하는 데 최적화되었습니다.
2) 작업 범위
개발 범위: Android 네이티브 앱 클라이언트 단독 개발 및 유지보수
지원 환경: Android (Native), Point Mobile PM85 전용 단말기 최적화
기술 스택: Kotlin, Coroutine & Flow, Room, Retrofit, NFC, Point Mobile SDK, WorkManager
3) 주요 업무
바코드 스캐너 및 NFC 연동: PDA 전용 SDK를 통합하여 실시간 바코드 스캔 및 ESL 태그 데이터 인식 기능 구현
ESL 태그-상품 매칭 시스템: 상품 코드와 ESL 기기 고유 코드를 1:1 또는 1:N으로 연결하는 핵심 로직 개발
카테고리별 특화 상품 관리: 일반 상품부터 신선식품(축산 이력번호), 와인(당도/무게감), 선물세트 등 업태별 특수 항목을 포함한 상세 정보 등록·조회 페이지 구현
오프라인 데이터 동기화: 네트워크 불안정 시 Room DB에 임시 저장 후, 연결 시 WorkManager를 통해 서버로 자동 재전송하는 백그라운드 큐 로직 구축
태그 초기화 및 관리: 대량의 ESL 태그를 일괄 초기화하거나 상태를 모니터링하는 관리 유틸리티 개발
4) 주안점
현장 업무 효율 극대화: 스캔 이벤트 처리 시 Coroutine과 Flow를 활용하여 UI 스레드 부하를 최소화함으로써, 수천 번의 반복 스캔 작업에도 끊김 없는 고성능 매칭 환경을 구축했습니다.
데이터 무결성 및 보안: 백화점 내부망 통신 보안을 위해 SSL Pinning을 적용하고, EncryptedSharedPreferences를 통해 현장 요원의 세션 정보를 안전하게 관리하여 데이터 보안성을 강화했습니다.
사용자 편의성(UX) 고려: 상품 복사 등록 기능 및 자동 로그인 기능을 통해 현장 직원의 단순 반복 입력 시간을 단축하여 업무 생산성을 높였습니다.
유지보수성 높은 아키텍처: 다양한 상품 유형(농수산, 축산, 와인 등)에 따라 유연하게 대응할 수 있도록 모듈화된 코드 구조를 설계하여 기능 확장 및 유지보수 효율을 확보했습니다.
1) 포트폴리오 소개
서비스 카테고리: 리테일 테크(Retail Tech) / 물류·재고 관리 솔루션
메인 타깃: 롯데백화점 현장 관리자 및 매장 운영 스태프
간략 소개: 백화점 내 수만 개의 상품과 전자가격표시기(ESL)를 실시간으로 매칭하고 관리하는 B2B 전용 네이티브 Android PDA 애플리케이션입니다. 복잡한 상품 정보를 현장에서 즉시 수정하고, 대규모 태그 데이터를 빠르고 정확하게 동기화하는 데 최적화되었습니다.
2) 작업 범위
개발 범위: Android 네이티브 앱 클라이언트 단독 개발 및 유지보수
지원 환경: Android (Native), Point Mobile PM85 전용 단말기 최적화
기술 스택: Kotlin, Coroutine & Flow, Room, Retrofit, NFC, Point Mobile SDK, WorkManager
3) 주요 업무
바코드 스캐너 및 NFC 연동: PDA 전용 SDK를 통합하여 실시간 바코드 스캔 및 ESL 태그 데이터 인식 기능 구현
ESL 태그-상품 매칭 시스템: 상품 코드와 ESL 기기 고유 코드를 1:1 또는 1:N으로 연결하는 핵심 로직 개발
카테고리별 특화 상품 관리: 일반 상품부터 신선식품(축산 이력번호), 와인(당도/무게감), 선물세트 등 업태별 특수 항목을 포함한 상세 정보 등록·조회 페이지 구현
오프라인 데이터 동기화: 네트워크 불안정 시 Room DB에 임시 저장 후, 연결 시 WorkManager를 통해 서버로 자동 재전송하는 백그라운드 큐 로직 구축
태그 초기화 및 관리: 대량의 ESL 태그를 일괄 초기화하거나 상태를 모니터링하는 관리 유틸리티 개발
4) 주안점
현장 업무 효율 극대화: 스캔 이벤트 처리 시 Coroutine과 Flow를 활용하여 UI 스레드 부하를 최소화함으로써, 수천 번의 반복 스캔 작업에도 끊김 없는 고성능 매칭 환경을 구축했습니다.
데이터 무결성 및 보안: 백화점 내부망 통신 보안을 위해 SSL Pinning을 적용하고, EncryptedSharedPreferences를 통해 현장 요원의 세션 정보를 안전하게 관리하여 데이터 보안성을 강화했습니다.
사용자 편의성(UX) 고려: 상품 복사 등록 기능 및 자동 로그인 기능을 통해 현장 직원의 단순 반복 입력 시간을 단축하여 업무 생산성을 높였습니다.
유지보수성 높은 아키텍처: 다양한 상품 유형(농수산, 축산, 와인 등)에 따라 유연하게 대응할 수 있도록 모듈화된 코드 구조를 설계하여 기능 확장 및 유지보수 효율을 확보했습니다.

대형 유통 리테일 현장을 위한 ESL(전자 가격 표시기) 관리 Android PDA 앱 개발



