บทเรียนที่ 1การออกแบบกระเป๋าตังค์: ตั๋วที่ใช้งานได้, วงจรชีวิตตั๋ว, การหมดอายุ, สถานการณ์การกู้คืนและโอนออกแบบกระเป๋าตังค์ที่จัดการตั๋วที่ใช้งานได้ กำลังจะมา และหมดอายุ คุณจะได้สร้างโมเดลสถานะตั๋ว การตรวจสอบความถูกต้อง การหมดอายุ และการเปลี่ยนอุปกรณ์ ขณะที่รองรับการกู้คืน การโอน และการป้องกันการฉ้อโกงในอินเทอร์เฟซที่ชัดเจนและคาดเดาได้
ตั๋ว state machine และ lifecycle eventsมุมมองตั๋วที่ใช้งานได้ กำลังจะมา และหมดอายุสถานะการตรวจสอบและสัญญาณความปลอดภัยทางสายตาflows การกู้คืนหลังติดตั้งใหม่หรือสูญเสียอุปกรณ์กฎการโอน ขีดจำกัด และการควบคุมการฉ้อโกงบทเรียนที่ 2UI/UX ตัววางแผนการเดินทาง: ข้อมูลที่จำเป็น (จุดเริ่มต้น, จุดหมาย, เวลา, ความชอบ) และองค์ประกอบผลลัพธ์ (เส้นทาง, ระยะเวลา, การเปลี่ยนขบวน, ช่วงเดินเท้า)ออกแบบ UI ตัววางแผนการเดินทางตั้งแต่ข้อมูลเข้าไปจนถึงผลลัพธ์ คุณจะได้ระบุฟิลด์ที่จำเป็น ตัวควบคุมความชอบ และการ์ดผลลัพธ์ ให้มั่นใจในความเข้าถึงได้ ความชัดเจนของ trade-offs และการเปรียบเทียบเส้นทางและโหมดทางเลือกได้อย่างรวดเร็ว
ฟอร์มข้อมูลสำหรับจุดเริ่มต้น จุดหมาย และเวลาตัวควบคุมความชอบสำหรับโหมดและการเดินการออกแบบการ์ดผลลัพธ์เส้นทางและสรุปมุมมองรายละเอียดสำหรับ legs การเปลี่ยนขบวน และค่าโดยสารข้อพิจารณาความเข้าถึงได้และการแปลภาษาบทเรียนที่ 3ตัวควบคุมผู้ใช้สำหรับการแจ้งเตือน: การสมัครสมาชิก, ชั่วโมงเงียบ, การกรองตามเส้นทาง, ความเข้าถึงได้ของการแจ้งเตือนออกแบบตัวควบคุมที่ผู้ใช้เห็นซึ่งกำหนดว่าการแจ้งเตือนไหนจะได้รับ คุณจะได้ implement การสมัครสมาชิก ชั่วโมงเงียบ ตัวกรองตามเส้นทาง และตัวเลือกความเข้าถึงได้ เพื่อให้ผู้โดยสารปรับความเกี่ยวข้องได้ ขณะที่ยังคงรับข้อความความปลอดภัยที่สำคัญ
โมเดลการสมัครสมาชิก: เส้นทาง สถานี เส้นทางชั่วโมงเงียบ do-not-disturb และการยกเลิกตัวเลือกการกรองตามเส้นทางและหัวข้อหมวดการแจ้งเตือนที่สำคัญ vs ตัวเลือกการตั้งค่าความเข้าถึงได้สำหรับการส่งการแจ้งเตือนบทเรียนที่ 4การส่งการแจ้งเตือนแบบ real-time: push notifications, WebSocket/Socket.IO, server-sent events, และ fallback pollingสำรวจช่องทางการส่งการแจ้งเตือนแบบ real-time และ trade-offs คุณจะได้เปรียบเทียบ push, WebSockets, SSE และ polling ออกแบบการเชื่อมต่อใหม่และ backoff ให้มั่นใจว่าการแจ้งเตือนทันเวลา ไม่ซ้ำ และประหยัดพลังงานบนอุปกรณ์มือถือ
การเลือก push vs WebSocket vs SSE vs pollingการจัดการการเชื่อมต่อและ reconnection logicการจัดลำดับ การไม่ซ้ำ และการแจ้งเตือน idempotentแบตเตอรี่ การใช้ข้อมูล และขีดจำกัดพื้นหลังกลยุทธ์ fallback เมื่อ real-time ล้มเหลวบทเรียนที่ 5การจัดอันดับและกรองเส้นทาง: เร็วที่สุด, เปลี่ยนขบวนน้อยที่สุด, เข้าถึงได้, เดินน้อยที่สุดออกแบบ logic การจัดอันดับที่สมดุลระหว่างความเร็ว การเปลี่ยนขบวน การเดิน และความเข้าถึงได้ คุณจะได้กำหนดตัวกรอง โมเดลการให้คะแนน กฎการตัดสินเมื่อเสมอ และ UX patterns เพื่อให้ผู้โดยสารค้นหาเส้นทางที่ตรงกับความชอบและข้อจำกัดได้อย่างรวดเร็ว
การจัดอันดับตามเวลา การเปลี่ยนขบวน และระยะเดินการให้คะแนนเส้นทางที่คำนึงถึงความเข้าถึงได้และโทษตัวกรองและ presets ที่ผู้ใช้กำหนดได้การจัดการ GTFS data ที่ไม่สมบูรณ์หรือคุณภาพต่ำการอธิบายการจัดอันดับด้วย UI labels ที่ชัดเจนบทเรียนที่ 6Analytics events สำหรับฟีเจอร์หลัก: การค้นหาการเดินทาง, การซื้อตั๋ว, การโต้ตอบการแจ้งเตือนกำหนด analytics สำหรับการค้นหาการเดินทาง การซื้อตั๋ว และการแจ้งเตือน คุณจะได้ออกแบบ event schemas คุณสมบัติผู้ใช้ funnels และการควบคุมความเป็นส่วนตัวที่ช่วยปรับปรุงฟีเจอร์ ขณะที่เคารพกฎระเบียบและความคาดหวังของผู้ใช้
Core events สำหรับการค้นหา การซื้อ และการแจ้งเตือนการตั้งชื่อ event versioning และ schemasFunnels cohorts และ retention analysisการกำหนดแหล่งที่มาของการแจ้งเตือนไปยังการกระทำของผู้ใช้ความเป็นส่วนตัว การยินยอม และ data minimizationบทเรียนที่ 7flows การซื้อตั๋ว: 目录สินค้า, กฎค่าโดยสาร, ที่นั่ง/การจอง vs โมเดล proof-of-paymentออกแบบ flows การซื้อตั๋วตั้งแต่เลือกสินค้าจนถึงยืนยัน คุณจะได้สร้างโมเดลกฎค่าโดยสาร บัตรผ่าน การจอง และ proof-of-payment ให้มั่นใจในความชัดเจน การตรวจสอบความถูกต้อง และความเข้ากันได้กับ backend ของหน่วยงาน
โครงสร้าง目录สินค้าและ fare familiesกฎค่าโดยสาร โซน ฝา และสิทธิพิเศษการจองที่นั่ง vs proof-of-payment แบบเปิดการตรวจสอบสิทธิ์และประเภทผู้โดยสารการออกแบบการยืนยันการซื้อและใบเสร็จบทเรียนที่ 8ผู้ใช้ flow จากการเปิดแอปไปยังผลลัพธ์เส้นทาง: สิทธิ์การเข้าถึง, การเข้าถึงตำแหน่ง, การดำเนินการด่วน, การค้นหาล่าสุดแมพการเดินทาง end-to-end จากการเปิดแอปไปยังผลลัพธ์เส้นทาง คุณจะได้ออกแบบการแจ้งเตือนสิทธิ์ การจัดการตำแหน่งทางลัด และการค้นหาล่าสุด เพื่อให้ผู้โดยสารเข้าถึงตัวเลือกการเดินทางที่เกี่ยวข้องด้วย friction น้อยที่สุดและความคาดหวังความเป็นส่วนตัวที่ชัดเจน
Cold start splash และการตัดสินใจ onboardingการร้องขอและอธิบายสิทธิ์การเข้าถึงตำแหน่งการดำเนินการด่วน favorites และทางลัดบ้าน-ที่ทำงานการค้นหาล่าสุด การจัดอันดับล่าสุด และการล้างการจัดการสิทธิ์ที่ถูกปฏิเสธและตำแหน่งด้วยตนเองบทเรียนที่ 9การนำเสนอการแจ้งเตือนในแอป: inbox, banners, การแจ้งเตือนเส้นทางตามบริบท, การปรับแต่งและการจัดลำดับความสำคัญกำหนดว่าการแจ้งเตือนปรากฏในแอปข้ามบริบทอย่างไร คุณจะได้ออกแบบ inbox, banners และพื้นผิวตามบริบท ด้วยการจัดลำดับความสำคัญ การจัดกลุ่ม และการปรับแต่งที่ทำให้ผู้โดยสารได้รับข้อมูลโดยไม่ถูกรบกวน
เค้าโครง alert inbox และตัวเลือกการกรองTransient banners toasts และ modalsการแจ้งเตือนตามบริบทในมุมมองเส้นทางและตั๋วการจัดลำดับความสำคัญ การจัดกลุ่ม และ rate limitingการปรับแต่งตามการใช้งานและเส้นทางบทเรียนที่ 10การจัดการข้อผิดพลาดและรูปแบบการลองใหม่ระหว่างการซื้อและ network failuresเรียนรู้รูปแบบการจัดการการซื้อและ network failures โดยไม่สูญเสียความไว้วางใจของผู้ใช้ คุณจะได้ออกแบบการลองใหม่ การดำเนินการ idempotent คิวออฟไลน์ และข้อความข้อผิดพลาดที่ชัดเจนที่ปกป้องการชำระเงินและหลีกเลี่ยงการเรียกเก็บเงินซ้ำหรือตั๋วที่เสียหาย
การจำแนก transient vs permanent failuresการออกแบบกลยุทธ์การลองใหม่และ backoff ที่ปลอดภัยIdempotency keys สำหรับ payment operationsคิวออฟไลน์และ local operation logsข้อความข้อผิดพลาดที่ผู้ใช้เห็นและ recovery flowsบทเรียนที่ 11การรวมการชำระเงิน: hosted pages vs in-app SDKs, ลดขอบเขต PCI, tokenizationสำรวจตัวเลือกการรวมการชำระเงินและขอบเขตความปลอดภัย คุณจะได้เปรียบเทียบ hosted pages และ in-app SDKs ออกแบบ tokenization และลดขอบเขต PCI ขณะที่รักษาการ checkout ให้ลื่นไหล น่าเชื่อถือ และปฏิบัติตามกฎ
Hosted checkout vs native SDK tradeoffsลดขอบเขต PCI ด้วย tokenization3-D Secure SCA และกฎระดับภูมิภาคการจัดการการปฏิเสธ การย้อนกลับ และการคืนเงินการจัดเก็บและอัปเดต payment instrumentsบทเรียนที่ 12การจัดเก็บตั๋วในเครื่อง: ตัวเลือกการจัดเก็บที่ปลอดภัย (ฐานข้อมูลเข้ารหัส, keystore/Keychain) และ tokenizationเรียนรู้รูปแบบการจัดเก็บในเครื่องที่ปลอดภัยสำหรับตั๋วและโทเค็น คุณจะได้เปรียบเทียบฐานข้อมูลเข้ารหัส Keychain หรือ Keystore และ platform APIs ออกแบบการหมุนเวียนกุญแจ พฤติกรรมสำรอง และการป้องกันการแทรกแซงหรือการโคลน
Threat model สำหรับตั๋วและโทเค็นที่จัดเก็บการใช้ Keychain หรือ Keystore สำหรับความลับฐานข้อมูลเข้ารหัสสำหรับ metadata ตั๋วการหมุนเวียนกุญแจ การเพิกถอน และ migrationการสำรอง การกู้คืน และพฤติกรรม multi-device