수업 1지갑 설계: 활성 티켓, 티켓 생명주기, 만료, 복원 및 전송 시나리오활성, 예정, 만료 티켓을 관리하는 지갑을 설계합니다. 티켓 상태, 유효성 검사, 만료, 디바이스 변경을 모델링하고, 명확하고 예측 가능한 인터페이스에서 복원, 전송, 사기 방지를 지원합니다.
티켓 상태 머신 및 생명주기 이벤트활성, 예정, 만료 티켓 뷰유효성 검사 상태 및 시각적 보안 신호재설치 또는 디바이스 손실 후 복원 흐름전송 규칙, 제한, 사기 제어수업 2여행 계획자 UI/UX: 필수 입력(출발지, 목적지, 시간, 선호사항) 및 출력 요소(경로, 소요시간, 환승, 도보 구간)입력부터 결과까지 여행 계획자 UI를 설계합니다. 필수 필드, 선호도 제어, 결과 카드를 지정하여 접근성, 트레이드오프 명확성, 대체 경로 및 모드 간 빠른 비교를 보장합니다.
출발지, 목적지, 시간 입력 폼모드 및 도보 선호도 제어경로 결과 카드 및 요약 설계구간, 환승, 요금 상세 뷰접근성 및 지역화 고려사항수업 3알림 사용자 제어: 구독, 조용한 시간, 노선별 필터링, 알림 접근성어떤 알림을 받을지 결정하는 사용자 중심 제어를 설계합니다. 구독, 조용한 시간, 노선별 필터, 접근성 옵션을 구현하여 승객이 관련성을 조정하면서도 중요한 안전 메시지를 받을 수 있도록 합니다.
노선, 역, 경로 구독 모델조용한 시간, 방해금지, 오버라이드노선별 및 주제별 필터링 옵션중요 vs 선택적 알림 카테고리알림 전달 접근성 설정수업 4실시간 알림 전달: 푸시 알림, WebSocket/Socket.IO, 서버 전송 이벤트, 대체 폴링실시간 알림 전달 채널과 트레이드오프를 탐구합니다. 푸시, WebSocket, SSE, 폴링을 비교하고, 재연결 및 백오프를 설계하며, 알림이 모바일 디바이스에서 적시에, 중복 없이, 전력 효율적으로 유지되도록 합니다.
푸시 vs WebSocket vs SSE vs 폴링 선택연결 관리 및 재연결 로직순서, 중복 제거, 멱등성 알림배터리, 데이터 사용량, 백그라운드 제한실시간 실패 시 대체 전략수업 5경로 순위 및 필터링: 가장 빠른, 최소 환승, 접근성, 최소 도보속도, 환승, 도보, 접근성을 균형 있게 고려한 순위 로직을 설계합니다. 필터, 점수 모델, 동점 해소 규칙, UX 패턴을 정의하여 승객이 선호도와 제약에 맞는 경로를 빠르게 찾을 수 있도록 합니다.
시간, 환승, 도보 거리 순위접근성 인식 경로 점수 및 패널티사용자 구성 가능 필터 및 프리셋불완전하거나 저품질 GTFS 데이터 처리명확한 UI 라벨로 순위 설명수업 6핵심 기능 분석 이벤트: 여행 검색, 티켓 구매, 알림 상호작용여행 검색, 티켓 구매, 알림에 대한 분석을 정의합니다. 이벤트 스키마, 사용자 속성, 퍼널, 개인정보 보호 제어를 설계하여 기능을 개선하면서 규제와 사용자 기대를 존중합니다.
검색, 구매, 알림 핵심 이벤트이벤트 명명, 버전 관리, 스키마퍼널, 코호트, 유지율 분석사용자 행동에 대한 알림 귀속개인정보 보호, 동의, 데이터 최소화수업 7티켓 구매 흐름: 제품 카탈로그, 요금 규칙, 좌석/예약 vs 결제 증명 모델제품 선택부터 확인까지 티켓 구매 흐름을 설계합니다. 요금 규칙, 패스, 예약, 결제 증명을 모델링하여 명확성, 유효성 검사, 기관 백엔드 호환성을 보장합니다.
제품 카탈로그 구조 및 요금 패밀리요금 규칙, 구역, 상한, 할인좌석 예약 vs 개방형 결제 증명자격 및 승객 유형 유효성 검사구매 확인 및 영수증 설계수업 8앱 실행부터 경로 결과까지 사용자 흐름: 권한, 위치 접근, 빠른 액션, 최근 검색앱 실행부터 경로 결과까지 엔드투엔드 여정을 매핑합니다. 권한 프롬프트, 위치 처리, 단축키, 최근 검색을 설계하여 최소 마찰과 명확한 개인정보 보호 기대로 관련 여행 옵션에 도달할 수 있도록 합니다.
콜드 스타트, 스플래시, 온보딩 결정위치 권한 요청 및 설명빠른 액션, 즐겨찾기, 집-직장 단축키최근 검색, 최근 순위, 지우기거부된 권한 및 수동 위치 처리수업 9앱 내 알림 제시: 인박스, 배너, 맥락별 경로 알림, 개인화 및 우선순위다양한 맥락에서 앱 내 알림 표시 방식을 정의합니다. 인박스, 배너, 맥락별 표면을 설계하고, 우선순위, 그룹화, 개인화를 통해 승객을 압도하지 않으면서 정보를 제공합니다.
알림 인박스 레이아웃 및 필터링 옵션일시적 배너, 토스트, 모달경로 및 티켓 뷰의 맥락별 알림우선순위, 그룹화, 속도 제한사용 및 노선 기반 개인화수업 10구매 및 네트워크 실패 시 오류 처리 및 재시도 패턴사용자 신뢰를 잃지 않고 구매 및 네트워크 실패를 처리하는 패턴을 배웁니다. 재시도, 멱등성 작업, 오프라인 큐, 명확한 오류 메시지를 설계하여 결제 보호와 중복 요금 또는 티켓 손상을 방지합니다.
일시적 vs 영구적 실패 분류안전한 재시도 및 백오프 전략 설계결제 작업을 위한 멱등성 키오프라인 큐 및 로컬 작업 로그사용자 중심 오류 메시지 및 복구 흐름수업 11결제 통합: 호스팅 페이지 vs 앱 내 SDK, PCI 범위 축소, 토큰화결제 통합 옵션과 보안 경계를 탐구합니다. 호스팅 페이지와 앱 내 SDK를 비교하고, 토큰화 설계, PCI 범위 축소로 체크아웃을 부드럽고 신뢰할 수 있으며 준수되게 유지합니다.
호스팅 체크아웃 vs 네이티브 SDK 트레이드오프토큰화를 통한 PCI 범위 축소3-D Secure, SCA, 지역 규칙거부, 취소, 환불 처리결제 수단 저장 및 업데이트수업 12티켓 로컬 저장소: 보안 저장 옵션(암호화 데이터베이스, 키스토어/Keychain) 및 토큰화티켓 및 토큰을 위한 보안 로컬 저장 패턴을 배웁니다. 암호화 데이터베이스, Keychain 또는 Keystore, 플랫폼 API를 비교하고, 키 순환, 백업 동작, 변조 또는 복제 방지 보호를 설계합니다.
저장된 티켓 및 토큰 위협 모델시크릿을 위한 Keychain 또는 Keystore 사용티켓 메타데이터를 위한 암호화 데이터베이스키 순환, 취소, 마이그레이션백업, 복원, 다중 디바이스 동작