Summary
Add the train car length to both types of departure boards. Details
Find an api that supports train car length. Then implement this so that a user can see the train car length on both departure boards. Aim to look like the Virgin Trains boards (Now Avanti)
It would be helpful if the search feature recognised the three letter station codes/identifiers in addition to be able to search by the full station name, this would allow easy switching within the interface where the code is known without having to manipulate the URL directly.
Describe the bug
Missing platform numbers for single platform stations
To Reproduce
Steps to reproduce the behavior:
Go to the singleboard view for Warwick(WRW)
You should see no platform details
Expected behaviour
Warwick only has one platform, so it should be smart and set the platform number to be '1'.
To get this information globally, it should use the existing station lookup used for the search to also cache how many platforms the station has. If the station has one platform and the data provided has no platform then we should set the platform to 1
Summary
Each time someone clicks on a station to change to it, it creates a new timer Current
A request is not cleared when changing between stations Expected
Should only be one timer at a time How to Test
Watch the dev tools
Summary
Allow a user to upload a xml document with a set of departures that will be shown. Details
A user should be able to upload a set format xml document with custom departures.
They should then be able to navigate to both designs of the departure board and see there custom data.
If the file uploaded is not formatted correctly it should let the user know, so that they can fix it.
The format is to be designed with this item. Should match Departure.cs How to Test
Test the full functionality end to end of correctly and incorrectly formatted documents.
Summary
Allow users to create custom filters to show only the data they want Details
Some users may want very specific filters on departures. To allow this we should implement an advanced query builder that should be easy to use but also powerful.
A possible solution may be https://querybuilder.js.org/ which offers a easy to use interface.
With the following backend plugin to filter by https://github.com/castle-it/dynamic-linq-query-builder
Summary
Add a settings page that allows a user to customize the UI and configuration. Details
Use browser local storage to store all these settings. Each setting should be configurable per user
I have looked everywhere in your departureboard repo, and I can't find config.xml at all. I have checked everywhere. I shall include a screenshot of where it is meant to be as said in the readme.md.
Summary
Google Analytics to show all API calls via events Details
Add a function for each api call that will log the call as an event in google analytics How to Test
View the main board and check that google analytics is registering the api calls
Summary
When the singleboard text changes it's width does not update first time and so it cuts off the text Current
The width attibute is not modified until the marquee resarts. Expected
Change the code to implement this module for scrolling https://www.npmjs.com/package/dynamic-marquee How to Test
Load a singleboard and see the text scrolls all the way to the end first time
Summary
Allow a user to create a custom display of boards Details
A user should be able to drag and drop in new boards of all types to create a mix of boards and stations. They should also be allowed to add in text and images.
For Example a user could have both Birmingham new street and Birmingham Moor street shown on 1 page. One may be a set of 5 big displays and the other maybe a singleboard
Summary
Allow a user to only show departures from x to y Details
A user should be able to filter departures to only show departures from one station to another.
This will be done by adding another url configuration /EUS/to/BHM.
You should still be able to add all other filters such as board count and arrivals How to Test
Test multiple configurations of the url to make sure all url parameters work.
Summary
Add a font colour for when a service is cancelled Current
Cancelled appears as orange Expected
Cancelled should be assigned a colour How to Test
When a train is cancelled the colour should not be orange. Can mock cancelled trains by forcing the status
Summary
The arrival colour for the singleboard is incorrect Current
The arrival colour should be purple like on the main board however it is plain orange. Expected
Arrival text should be purple How to Test
Go to singleboard and make sure a train arriving is purple
Describe the bug
Expected Departure should be made nullable in the backend.
This means if we don't receive a date then it shouldn't be set to DateTime.MinValue
Summary
Add a new page where a user can give feedback Details
Add a new page accessible from the menu, that will allow the user to feedback about the website and suggest any improvements
Summary
When there are many departures on one page the scroll bar appears Current
When you many departures on the main departures screen the scroll bar appears to allow you to scroll down Expected
The scroll bar should be hidden but the user should still be able to scroll up and down How to Test
Go to the main board and load over 12 departures. You should no longer be able to see the scroll bar but you should be able to scroll down and up the page as normal.
Summary
Some users may want to never show the menu on the page. Details
A url param called hideMenu should be added with a true or false value.
When true the menu should never be displayed, this could be useful for things like adding in the website as a iframe to a different website.
Summary
When you search for London St Pancras it shows up twice Current
The search show London St Pancras (Int) and London St Pancras International Expected
The search should only show London St Pancras International How to Test
Search for St Pancras and ensure only one result is show
Summary
Change the news to be loaded from a json config file Details
Currently the news is hard coded as html. It should now be changed so that the news is loaded from a json file dynamically. This will allow the news to be changed without a code change How to Test
Test different news articles and test invalid formatting
Summary
Fix Singleboard Layout alignment into columns Current
Each column is not currently in line with the next row Expected
Implement grid layout to force the columns to be inline across the rows How to Test
Compare new verses prod and check the columns are aligned
Summary
When the get request runs to get the name of station it quite frequently cannot find the name. Even though the station was found through the search Current
The page title is frequently set to the station code rather then the station name. This is because the get method is failing to find the name Expected
The station name should always be found for a station found through the search function
Summary
Create a port of the web app to a windows app Details
Use the windows template studio plugin to create a windows app the gets it's content from the web app How to Test
Check all functionality works the same on the app as it does on the website
Summary
Currently the analytics we collect are scewed by developer usage as developer sites also report to the same place. Details
There should be a true/false option added to the config file which sets whether the analytics should be reported. There should also be a runtime argument to temporarily turn it on. How to Test
Run a developer site with the setting on and off and ensure that when off there are no analytics reported. You should also test the runtime argument temporarily turns it on
Summary
Custom background colour not working Current
Custom background colour only shows on html element and not in the rest of the content Expected
Background colour should be applied across all elements How to Test
Set custom background and check the colour is applied correctly
Summary
As part of the external website integration they may want to disable the ability to click on place names to move to that station. Details
Add a query param called disableClicks which should be a true/false value.
When true a user should not be able to click on the station names and also the platform numbers
Summary
Investigate a way to implement a sub-menu on the main board page to adjust things like the board count Details
Design and build a sub-menu for systems like the board count and platform How to Test
Summary
When typing 1 or 2 letters into the search, there is a big delay in results Current
The http request is fast however the UI side is slow to add in the results. Expected
Only allow the first 10 results to be shown on the search dropdown How to Test
Type in 1 letter to the search and make sure the speed is less then a second to suggest results
The search box should be able to search for stations without autocomplete. I.e I could type in the CRS code or Station Name, click search and it should find the station