Μάθημα 1Σχεδιασμός πορτοφολιού: ενεργά εισιτήρια, κύκλος ζωής εισιτηρίου, λήξη, σενάρια αποκατάστασης και μεταφοράςΣχεδιάστε πορτοφόλι που διαχειρίζεται ενεργά, επερχόμενα και ληγμένα εισιτήρια. Θα μοντελοποιήσετε καταστάσεις εισιτηρίων, επικύρωση, λήξη και αλλαγές συσκευής, υποστηρίζοντας αποκατάσταση, μεταφορά και πρόληψη απάτης σε σαφή, προβλέψιμη διεπαφή.
Μηχανή κατάστασης εισιτηρίου και γεγονότα κύκλου ζωήςΠροβολές ενεργών, επερχόμενων και ληγμένων εισιτηρίωνΚαταστάσεις επικύρωσης και οπτικά σήματα ασφαλείαςΡοές αποκατάστασης μετά από επανεγκατάσταση ή απώλεια συσκευήςΚανόνες μεταφοράς, όρια και έλεγχοι απάτηςΜάθημα 2UI/UX σχεδιαστή ταξιδιού: απαιτούμενες εισόδοι (αφετηρία, προορισμός, ώρα, προτιμήσεις) και στοιχεία εξόδου (διαδρομή, διάρκεια, μεταφορές, τμήματα πεζής)Σχεδιάστε το UI σχεδιαστή ταξιδιού από εισόδους σε αποτελέσματα. Θα καθορίσετε απαιτούμενα πεδία, ελέγχους προτιμήσεων και κάρτες αποτελεσμάτων, εξασφαλίζοντας προσβασιμότητα, σαφήνεια tradeoffs και γρήγορη σύγκριση εναλλακτικών διαδρομών και τρόπων.
Φόρμες εισόδου για αφετηρία, προορισμό και ώραΈλεγχοι προτιμήσεων για τρόπους και πεζήΣχεδιασμός καρτών αποτελεσμάτων διαδρομής και περιλήψεωνΛεπτομερείς προβολές για σκέλη, μεταφορές και ναύλαΠροσβασιμότητα και τοπικοποίησηΜάθημα 3Έλεγχοι χρήστη για ειδοποιήσεις: συνδρομές, ώρες ησυχίας, φιλτράρισμα ανά γραμμή, προσβασιμότητα ειδοποιήσεωνΣχεδιάστε ελέγχους χρήστη που καθορίζουν ποιες ειδοποιήσεις λαμβάνονται. Θα υλοποιήσετε συνδρομές, ώρες ησυχίας, φίλτρα ανά γραμμή και επιλογές προσβασιμότητας ώστε οι επιβάτες να ρυθμίζουν τη συνάφεια ενώ λαμβάνουν κρίσιμα μηνύματα ασφαλείας.
Μοντέλα συνδρομής: γραμμές, σταθμοί, διαδρομέςΏρες ησυχίας, do-not-disturb και παρακάμψειςΕπιλογές φιλτραρίσματος ανά γραμμή και θέμαΚατηγορίες κρίσιμων vs προαιρετικών ειδοποιήσεωνΡυθμίσεις προσβασιμότητας για παράδοση ειδοποιήσεωνΜάθημα 4Παράδοση real-time ειδοποιήσεων: push notifications, WebSocket/Socket.IO, server-sent events, fallback pollingΕξερευνήστε κανάλια παράδοσης real-time ειδοποιήσεων και tradeoffs. Θα συγκρίνετε push, WebSockets, SSE και polling, θα σχεδιάσετε επανασύνδεση και backoff, και θα εξασφαλίσετε ότι οι ειδοποιήσεις παραμένουν έγκαιρες, αποδιπλασιασμένες και εξοικονόμησης ενέργειας σε κινητές συσκευές.
Επιλογή push vs WebSocket vs SSE vs pollingΔιαχείριση σύνδεσης και λογική επανασύνδεσηςΤαξινόμηση, αποδιπλασιασμός και idempotent ειδοποιήσειςΜπαταρία, χρήση δεδομένων και όρια backgroundΣτρατηγικές fallback όταν αποτυγχάνει το real-timeΜάθημα 5Κατάταξη και φιλτράρισμα διαδρομών: ταχύτερη, λιγότερες μεταφορές, προσβασιμότητα, λιγότερη πεζήΣχεδιάστε λογική κατάταξης που ισορροπεί ταχύτητα, μεταφορές, πεζή και προσβασιμότητα. Θα ορίσετε φίλτρα, μοντέλα βαθμολόγησης, κανόνες ισοπαλίας και UX μοτίβα ώστε οι επιβάτες να βρίσκουν γρήγορα διαδρομές που ταιριάζουν με προτιμήσεις και περιορισμούς.
Κατάταξη κατά χρόνο, μεταφορές και απόσταση πεζήςΒαθμολόγηση διαδρομών με προσβασιμότητα και ποινέςΦίλτρα και προεπιλογές ρυθμιζόμενα από χρήστηΧειρισμός ελλιπών ή χαμηλής ποιότητας GTFS δεδομένωνΕξήγηση κατατάξεων με σαφείς ετικέτες UIΜάθημα 6Γεγονότα analytics για βασικά χαρακτηριστικά: αναζητήσεις ταξιδιών, αγορές εισιτηρίων, αλληλεπιδράσεις ειδοποιήσεωνΟρίστε analytics για αναζητήσεις ταξιδιών, αγορές εισιτηρίων και ειδοποιήσεις. Θα σχεδιάσετε σχήματα γεγονότων, ιδιότητες χρήστη, funnels και ελέγχους ιδιωτικότητας που βοηθούν στη βελτίωση χαρακτηριστικών ενώ σέβονται κανονισμούς και προσδοκίες χρήστη.
Βασικά γεγονότα για αναζήτηση, αγορά και ειδοποιήσειςΟνοματολογία γεγονότων, versioning και σχήματαFunnels, cohorts και ανάλυση διακράτησηςΑποτίμηση ειδοποιήσεων σε ενέργειες χρήστηΙδιωτικότητα, συγκατάθεση και ελαχιστοποίηση δεδομένωνΜάθημα 7Ροή αγοράς εισιτηρίου: κατάλογος προϊόντων, κανόνες ναύλων, θέσεις/κρατήσεις vs μοντέλα απόδειξης πληρωμήςΣχεδιάστε τη ροή αγοράς εισιτηρίου από επιλογή προϊόντος σε επιβεβαίωση. Θα μοντελοποιήσετε κανόνες ναύλων, passes, κρατήσεις και proof-of-payment, εξασφαλίζοντας σαφήνεια, επικύρωση και συμβατότητα με backend οργανισμών.
Δομή καταλόγου προϊόντων και οικογένειες ναύλωνΚανόνες ναύλων, ζώνες, caps και εκπτώσειςΚρατήσεις θέσεων vs ανοιχτή proof-of-paymentΕπικύρωση επιλεξιμότητας και τύπων επιβατώνΣχεδιασμός επιβεβαίωσης αγοράς και απόδειξηςΜάθημα 8Ροή χρήστη από εκκίνηση app σε αποτελέσματα διαδρομής: δικαιώματα, πρόσβαση τοποθεσίας, γρήγορες ενέργειες, πρόσφατες αναζητήσειςΧαρτογραφήστε το end-to-end ταξίδι από εκκίνηση app σε αποτελέσματα διαδρομής. Θα σχεδιάσετε prompts δικαιωμάτων, χειρισμό τοποθεσίας, συντομεύσεις και πρόσφατες αναζητήσεις ώστε οι επιβάτες να φτάνουν σε σχετικές επιλογές ταξιδιών με ελάχιστη τριβή και σαφείς προσδοκίες ιδιωτικότητας.
Cold start, splash και αποφάσεις onboardingΖήτηση και εξήγηση δικαιωμάτων τοποθεσίαςΓρήγορες ενέργειες, αγαπημένα και συντομεύσεις σπίτι-δουλειάΠρόσφατες αναζητήσεις, κατάταξη και καθαρισμόςΧειρισμός αρνηθέντων δικαιωμάτων και χειροκίνητη τοποθεσίαΜάθημα 9Παρουσίαση ειδοποιήσεων εντός app: inbox, banners, συμφραζόμενες ειδοποιήσεις διαδρομής, εξατομίκευση και προτεραιοποίησηΟρίστε πώς εμφανίζονται οι ειδοποιήσεις εντός app σε διάφορα contexts. Θα σχεδιάσετε inboxes, banners και συμφραζόμενες επιφάνειες, με προτεραιοποίηση, ομαδοποίηση και εξατομίκευση που κρατούν τους επιβάτες ενημερωμένους χωρίς να τους υπερφορτώνουν.
Διάταξη inbox ειδοποιήσεων και επιλογές φιλτραρίσματοςΠροσωρινά banners, toasts και modalsΣυμφραζόμενες ειδοποιήσεις σε προβολές διαδρομής και εισιτηρίωνΠροτεραιοποίηση, ομαδοποίηση και περιορισμός ρυθμούΕξατομίκευση βάσει χρήσης και γραμμώνΜάθημα 10Χειρισμός σφαλμάτων και μοτίβα επανάληψης κατά αγορές και αποτυχίες δικτύουΜάθετε μοτίβα για χειρισμό αποτυχιών αγορών και δικτύου χωρίς απώλεια εμπιστοσύνης χρήστη. Θα σχεδιάσετε επαναλήψεις, idempotent λειτουργίες, offline ουρές και σαφή μηνύματα σφαλμάτων που προστατεύουν πληρωμές και αποφεύγουν διπλές χρεώσεις ή σπασμένα εισιτήρια.
Κατηγοριοποίηση παροδικών vs μόνιμων αποτυχιώνΣχεδιασμός ασφαλών στρατηγικών επανάληψης και backoffΚλειδιά idempotency για λειτουργίες πληρωμώνOffline ουρές και τοπικά logs λειτουργιώνΜηνύματα σφαλμάτων προς χρήστη και ροές ανάκαμψηςΜάθημα 11Ενσωμάτωση πληρωμών: hosted pages vs in-app SDKs, μείωση εύρους PCI, tokenizationΕξερευνήστε επιλογές ενσωμάτωσης πληρωμών και όρια ασφαλείας. Θα συγκρίνετε hosted pages και in-app SDKs, θα σχεδιάσετε tokenization και θα μειώσετε εύρος PCI διατηρώντας το checkout ομαλό, αξιόπιστο και συμβατό.
Tradeoffs hosted checkout vs native SDKΜείωση εύρους PCI με tokenization3-D Secure, SCA και περιφερειακοί κανόνεςΧειρισμός απορρίψεων, ανατροπών και επιστροφώνΑποθήκευση και ενημέρωση οργάνων πληρωμώνΜάθημα 12Τοπική αποθήκευση εισιτηρίων: επιλογές ασφαλούς αποθήκευσης (κρυπτογραφημένη βάση δεδομένων, keystore/Keychain) και tokenizationΜάθετε μοτίβα ασφαλούς τοπικής αποθήκευσης για εισιτήρια και tokens. Θα συγκρίνετε κρυπτογραφημένες βάσεις δεδομένων, Keychain ή Keystore και platform APIs, σχεδιάζοντας περιστροφή κλειδιών, συμπεριφορά backup και προστασίες κατά παραβίασης ή κλωνοποίησης.
Threat model για αποθηκευμένα εισιτήρια και tokensΧρήση Keychain ή Keystore για secretsΚρυπτογραφημένες βάσεις για metadata εισιτηρίωνΠεριστροφή κλειδιών, ανάκληση και μετεγκατάστασηBackup, αποκατάσταση και συμπεριφορά πολλαπλών συσκευών