Size matters in vehicle collisions, and cyclists always come out worse off. Riding a bike comes with many difficulties and risks, vehicles on roads that are dangerous or congested. Since bike lanes are not common in the city, cyclists need to share roads with cars where drivers are not being observant. Many current trip planning services do not consider the danger to the rider or options to remain on designated bike paths.
On Ya Bike is a platform that provides custom routing for cyclists to avoid dangerous roads or areas with lots of congestion from vehicles or pedestrians. This will help keep riders safe and improve their commuting experience. Additionally, it will make cycling more accessible for people who are cautious of using roads and the risks they come with.
Name: Angus Buchanan
Student number: 46477806
This system consists of a simple application where users can plan their trips and get live updates from other cyclists on the conditions. People can view a selection of options that have varying amounts of road use to suit their confidence level.
For the MVP of this system the following features should be included:
Scalability For this system, scalability is crucial because there will be large variations in usage. This app will mostly be used for commuting to and from people’s work or schooling commitments, meaning the morning and afternoons will have the highest usage, with little use at night. Designing the system with scalability ensures that there is little hardware redundancy, reducing the system’s costs. Vertical scaling will be used to process complex route calculations. Horizontal scaling will dynamically boost a component’s performance by providing more instances being run.
Communicating with other systems and data gathering are essential for this system making interoperability crucial. This project will use various APIs for map services and receive several different data formats from councils and governments. Different organisations will use various standards and formats for presenting their data leading this system to need to handle and communicate with various types of services.
Extensibility allows for the adoption of potential future changes and the addition of new features. Due to the development of new public infrastructure and IoT there is potential for large changes in the route creation aspect. For this system extensibility will allow future development enhancements of the routing system to include data sources or algorithms previously not available.
To evaluate this system’s scalability, several performance tests will be used to check both horizontal and vertical scaling. K6 and AWS Cloudwatch provide metrics on the system and how it handles the performance tests. Vertical scaling can be tested by requesting many complex route calculation requests.
The system’s interoperability can be evaluated by how well it follows standards and integrates with other APIs. Testing should be done to ensure that geospatial data formats generated by the system are compatible with a variety of map APIs.
The system’s extensibility will be evaluated by how well it can integrate new features and user parameters. This will be tested by how well-documented the system is and the design considerations made when creating it. A plug-in architecture which allows for introduction of new features can be tested by adding and removing features without impacting other components of the system.
For this system scalability is the most important quality attribute because most of user activity will occur in their transport to and from work/school. They can be scaled down drastically during these times. Extensibility may have conflicts with the goal of having a highly scalable system due to potential new features which may require ongoing data processing, which will require more computing resources to be constantly running. Interoperability will also be prioritised over extensibility as having integration with more data sources and APIs to better create routes and have a more up-to-date system is more beneficial to the specific use of the system.