프로젝트 배경
프로젝트 배경 배달 앱은 화면만 보면 단순해 보이지만, 주문 하나가 고객 · 매장 · 배달원 · 관리자 네 주체를 동시에 지나갑니다. 어느 한쪽에서만 상태가 어긋나도 실제 음식과 돈이 어긋납니다. OlovGo는 우즈베키스탄 지방 도시를 대상으로 만든 배달 플랫폼입니다. 대도시에만 배달 서비스가 있고 지방에는 없는 상황에서, 지역 식당들을 한 곳에 모으는 것이 목표였습니다. 기술적으로 가장 어려
프로젝트 성과
다섯 개 클라이언트를 하나의 백엔드로 통합
고객·배달원·매장 앱과 웹·관리자를 하나의 NestJS 백엔드에 연결하고, OpenAPI 문서를 기준으로 각 앱의 타입 안전한 클라이언트를 자동 생성
재시도에도 중복되지 않는 주문 처리
Redis 기반 멱등성 계층으로 요청 키를 원자적으로 선점하고 본문 해시를 대조해, 재시도가 발생해도 주문이 한 번만 생성되도록 보장
8단계 주문 상태 머신과 감사 이력
역할별로 허용된 전이만 가능하게 하고 모든 변경을 이력에 남겼으며, 주문 시점의 상품명·가격을 스냅샷으로 저장
실시간 계층 구축 (WebSocket)
JWT 인증을 붙인 WebSocket 게이트웨이에 30초 하트비트, 배달원 위치 브로드캐스트, 매장 영업 상태 자동 반영을 구현
정산 자동화와 3개 언어 지원
현금 주문 수수료를 주간 배치로 원장 방식 정산해 중복 반영을 차단하고, 우즈벡어·러시아어·영어를 서버 메시지까지 지원
핵심 기능
진행 단계
데이터 모델과 API 설계
2026.05.
23개 엔티티·15개 열거형 설계, 주문 상태 머신 정의, OpenAPI 기준 확립
프로젝트 상세
[ OlovGo 프로젝트 소개 ] OlovGo는 우즈베키스탄 지방 도시를 대상으로 만든 음식 배달 플랫폼입니다. 저희 팀은 하나의 백엔드 위에 다섯 개의 클라이언트(고객 앱 · 배달원 앱 · 매장 앱 · 웹 · 관리자)를 올리는 구조로 설계하고, 아키텍처부터 배포까지 전 과정을 담당했습니다. 배달 서비스는 주문 하나가 고객 · 매장 · 배달원 · 관리자 네 주체를 동시에 지나갑니다. 게다가 통신이







