Giter Club home page Giter Club logo

benfl3713 / departureboard Goto Github PK

View Code? Open in Web Editor NEW
25.0 2.0 1.0 21.59 MB

๐Ÿš… This Project allows a user to view live train times in the format of a station departure board

Home Page: https://www.leddepartureboard.com

License: Apache License 2.0

JavaScript 0.13% TypeScript 31.96% CSS 50.99% HTML 0.14% C# 14.18% Dockerfile 0.27% SCSS 2.27% Shell 0.06%
departureboard trains transport departures timetable station departure-board departure-times

departureboard's Introduction

Ben Fletcher - Hi there ๐Ÿ‘‹

  • ๐Ÿ‘‹ Hi, I'm Ben fletcher
  • ๐Ÿ‘จโ€๐Ÿ’ป I work for IRESS as a Software Engineer
  • โœจ The main languages I use are C#, Typescript, HTML and CSS
  • ๐Ÿ“‚ My main project I work on in my spare time is leddepartureboard.com everything is open source
  • ๐Ÿ“ซ How to reach me: Email me at [email protected]

departureboard's People

Contributors

ben-fletcher avatar benfl3713 avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

rickduggan

departureboard's Issues

Train Car Length

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)

Allow station codes to be used in Search

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.

Station Information

Is your feature request related to a problem? Please describe.
Add general station information to single board scrolling text

Describe the solution you'd like
Get station information from the knowledge api and add it to the information shown in the singleboard scroller

https://www.nationalrail.co.uk/100298.aspx

Missing platform numbers for single platform stations

Describe the bug
Missing platform numbers for single platform stations

To Reproduce
Steps to reproduce the behavior:

  1. Go to the singleboard view for Warwick(WRW)
  2. 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

Change Clock click to go to home

Summary
Change Clock click to go to home

Current
When you click the clock it takes you to the search

Expected
When you click the clock it should take you to the home page

Get Latest Departures is happening too frequently

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

Upload of Custom User departure data

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.

Settings Page

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

Departure Time Order

Departures due after midnight appear before departures due before midnight.
For Example
23:50 would come after 00:10

Expected
23:50 should come before 00:10

Google Analytics For API Calls

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

SingleBoard Scolling Pattern

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

Drag and Drop Custom Board Display

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

Filter boards to show next depatures from x to y

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.

Add Colour for Cancelled Status

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

Implement new bus data source

Summary
Add a bus datasource for the whole uk
Details
Find and implement a new datasource to fetch bus data for the uk.

Mobile Hamburger Menu

Describe the bug
When something is over the hamburger menu on mobile then you can no longer click it to access the menu

To Reproduce
Steps to reproduce the behavior:

  1. Go to any singleboard view
  2. Tilt your screen sideways
  3. If you then try access the menu, it does nothing.

Expected behavior
You should be able to use the menu.
To fix this the menu should be placed on top of anything else on the screen (Z-index)

SingleBoard Arrival Colour

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

Feedback Section

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

Home Button on all pages

Summary
Add a home button to all of the pages

Current
Only way to go home is to change the link at the top

Expected
Add a home button that disappears after 10 seconds of inactivity from the mouse
When the mouse moves again then show the home button again.

Hide Scroll bar

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.

Add Hide menu as a url param

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.

London St Pancras shows twice

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

News as Config file

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

Fix Singleboard Layout alignment

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

Station Mapping Inaccurate Search

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

Windows App

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

Add Config option to enable/disable analytics

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

Fixed background colour

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

Add Disable Click on names query parameter

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

Sub Menu System for Departure Board

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

No Departure Found Message

Summary
Add a message to the board page when no departures are found for the given station

Current
A user just gets a blank screen if no departures are found

Expected
A message is displayed in the centre of the screen showing "No Departures found for X" where X is the station

How to Test

  1. Go to a valid station and make sure the message is not shown
  2. Go to an invalid station and make sure the message is displayed.

Add Donate Button

Summary
Add Paypall donate button to the bottom of the home page
This will allow people to donate to the work of this project

Search Speed on UI

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

Allow Search without autocomplete

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.