Shipfast
Find all ferry information
Personal application. Show detailed and instant ferry information in a single application. Cater for different ferry schedule structures.

Harmonious data design for different ship schedules
Managing ferry timetables can be a complex task due to their disorganized data structures. These schedules can range from one-way and two-way trips to recurring journeys, and even more challenging, varying stops at different times. As software engineers, our job is to deconstruct these complex structures into smaller, manageable units that encapsulate all possible scheduling patterns. Ultimately, we devised three fundamental data units: ship point, route, and ferry line. A route consists of multiple ship points, and a ferry line is a collection of routes.
​
The accompanying screenshots illustrate the preliminary stages of our data structure brainstorming.

