피드로 돌아가기
Custom e-commerce on Firebase: catalog, atomic orders and admin panel
Dev.toDev.to
Backend

Firebase Realtime DB 기반의 Atomic 주문 처리 및 맞춤형 커머스 설계

Custom e-commerce on Firebase: catalog, atomic orders and admin panel

Andrea Roversi2026년 6월 28일9intermediate

Context

POS 터미널 리셀러를 위한 맞춤형 쇼케이스 및 주문 시스템 구축 필요성 대두. 기성 플랫폼으로는 기존 관리 패널과의 생태계 통합 및 세부 제어가 불가능한 제약 사항 존재.

Technical Solution

  • 상업 데이터와 관리 데이터 간의 오염 방지를 위해 e-commerce 전용 Firebase 프로젝트를 분리한 독립 DB 구조 설계
  • 데이터 중복 방지 및 유지보수 효율화를 위해 Pricing Plan을 글로벌 아카이브(/tariffs)로 관리하고 제품별 ID 배열로 연결한 Normalization 전략 채택
  • 동시 주문 발생 시 발생하는 Race Condition 해결을 위해 runTransaction()을 통한 Atomic Counter 구현으로 주문 번호의 고유성 보장
  • 소스 코드 내 비밀번호 노출 차단 및 무차별 대입 공격 방지를 위해 Web Crypto API 기반의 PBKDF2 해시 알고리즘 적용
  • 클라이언트 사이드 제어의 한계를 극복하고자 Firebase Security Rules를 통해 서버 사이드 데이터 접근 권한을 강제하는 보안 계층 구축
  • Netlify Serverless Functions를 이용해 관리 패널 토큰을 검증하고 Custom Claim을 부여하는 인증 워크플로우 설계

1. 동시성 제어가 필요한 카운터 구현 시 단순 Write 대신 Transactional Update 사용 여부 검토

2. 클라이언트 단의 UI 숨김 처리가 아닌 서버 사이드 Access Control List(ACL) 적용 여부 확인

3. 정적 파일에 저장되는 민감 정보 처리 시 PBKDF2와 같은 연산 비용이 높은 Key Derivation Function 검토

4. 유사한 데이터 구조가 반복될 경우 Embedding 방식보다 Reference 방식의 정규화 고려

원문 읽기