Last Updated: 28 August 2020
In the past, there has been a tendancy to create a separate website for devices with different sized screens, different resolutions and different browser or operating system versions. At best, this approach adds a significant development and maintenance overhead. At worst, creating and looking after this number of similar applications is impossible.
Responsive Web Design is a method of engineering web sites so they are are aesthetically and functionally optimal on many different devices including mobile phones, tablets, smart TVs and more traditional desktop PCs.
thetrain.rocks is a fully responsive HTML5 web app that allows the user to search for a train and see realtime updates about its progress, together with Artificial Intelligence (AI) based predictions as to how early or late the train is likely to be at each of its calling points. The site has a client side jQuery autocomplete for entering the 'to' and 'from' stations, and uses Vue.js to provide visual updates in real time as the train continues its journey.
This app is built using Asp.Net Core and uses Azure DevOps pipelines to automatically create a Linux Docker image each time new changes are pushed to the code repository. The container runs in a Rancher Kubernetes-as-a-service cluster, load balanced over multiple nodes, and using free Lets Encrypt SSL certificates that automatically renew.