Give saved journeys names that survive station renames
Central Station becomes Central Exchange in a feed update and a saved commute disappears. Save journeys by station identity and let riders keep a personal label.
- Focused work estimate
- 1h + prerequisites
- Priority in the scenario
- Low
- Engineering practice
- Data modeling · Local persistence · Migration
Estimated field mix
- Mobile80%
- Database engineering20%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
The fictional Northline commuter app plans bus and rail trips from synthetic timetable and alert feeds. Riders save journeys and choose optional reminders. The scope excludes ticket purchases, safety guarantees, and continuous location collection.
Setup prerequisites
- Synthetic timetable with explicit time zones and service dates
- Departure, alert, and permission adapters with failure fixtures
Preceding work
No earlier ticket is required. Complete the project setup above.
Acceptance criteria
- Saved journeys use stable station IDs and optional rider labels.
- Renaming a station updates its display without duplicating the journey.
- A removed station shows an unavailable state with an edit action instead of silently deleting the journey.
Implementation constraints
- Limit labels and render them as text; no account sync is required.
Verification to include
- Save Home to Office and apply a station-name update; identity and label remain.
- Remove a referenced station and reload; the saved journey remains editable with an unavailable endpoint.
Deliverables
- Saved-journey model and station-update fixture tests
Rollout and recovery
Migrate a copied local fixture database first; retain original IDs if label migration fails.
Value of the work
For the engineer: Practice temporal modeling, feed reconciliation, battery-conscious refresh, and mobile permission design.
For the team: Review how an engineer communicates uncertainty and keeps a consumer app useful under unreliable data.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.