Giter Club home page Giter Club logo

train-spotter's Introduction

Forks Stargazers Issues Checks GNU License LinkedIn


Logo

TrainSpotter

Live train and disruption information of the Dutch railroad
TrainSpotter website »
Explore the docs »

treinenkaart.bartvanzeist.nl · Report Bug · Request Feature · bartvanzeist.nl

Table of Contents
  1. TrainSpotter
  2. Getting Started
  3. Project Management
  4. Roadmap
  5. License
  6. Contact

TrainSpotter

TrainSpotter Screen Shot

TrainSpotter is a website that tracks trains on the Dutch railroad in real-time. TrainSpotter offers features such as:

  • Real-time train tracking
  • Global search for stations, trains, train types, train parts and ride id's
  • Detailed, real-time information for each specific train

Built With

Specific technologies

  • Web Workers (for MapBox and Jimp image manipulation)
  • Service Workers
  • LocalStorage (for content caching)

Getting Started

To get a local copy up and running follow these simple steps.

Prerequisites

This is an example of how to list things you need to use the software and how to install them.

Installation

  1. Clone the repo
    git clone https://github.com/BPHvZ/Train-Spotter.git
  2. Install Yarn packages
    yarn install
  3. Run TrainSpotter sh yarn run serve

Project Management

Feature Management

  1. New features are tracked on the Project board.
  2. When a feature is going into development, it is converted into an Issue.
  3. A person is assigned to the Issue. A bot will create a feature branch for the Issue.
    • By default, the feature branch will be based of the develop branch.
    • Issues that are labelled as bug will be based of the main branch.
      Bugs are intended to be resolved quickly and thus should be implemented on main as soon as possible.

Development

  1. A feature will be developed on its designated feature branch.
  2. A pre-commit hook is included which can be enabled by running yarn husky install.
    • The pre-commit hook will run Prettier and ng lint using the linting rules included with this project.
  3. Compodoc is used to generate documentation. Compodoc strings should be added before making a pull request.
  4. Feature branches can be pushed into the develop branch.
  5. The main branch is protected and only accepts pull requests that have completed the CI/CD tasks successfully.

Continuous Integration and Delivery

  1. Teamcity is run locally.
  2. All changes on the develop branch will cause the CI to build and deploy the experimental version of TrainSpotter at betatreinenkaart.bartvanzeist.nl.
  3. Pull requests from the develop branch to the main branch will build and deploy the new stable version to treinenkaart.bartvanzeist.nl

Roadmap

See the Project on GitHub for a list of proposed features (and known issues).

License

Distributed under the GNU GPL v3 License. See LICENSE for more information.

Contact

Bart van Zeist - bartvanzeist.nl - LinkedIn - [email protected]

Project Link: https://github.com/BPHvZ/Train-Spotter

train-spotter's People

Contributors

bphvz avatar

Watchers

 avatar  avatar

train-spotter's Issues

Make repo public

  • Add license
  • Update readme
  • Update docs
  • Check CORS
  • Revoke API keys and store new ones safely

Notifications

  • Notification when new version of website is available
  • Notification when retrieving train information

Train/ride information page

  • crowd forecast
  • coming and past stations
  • Add info button to general search
  • Update train information every 30 seconds
  • Show train speed and upcomming station

Remove train image from train popup when train has the fallback image

The train pop shows an image of all the coaches of a train. Trains that don't provide detailed information about their coaches, can not show this image. At this moment, the image section of the pop up is still shown.
TODO: Remove the image section of the pop up when detailed coach information is not available.

Disruption markers improvements

  • Make disruptions red
  • Make maintenance orange
  • Make marker grow when hovered on (either on map or the sidebar)
  • Make disruption in sidebar active when clicked on a marker on the map

Station popup improvements

  • Show first three arriving trains
  • Show first three departing trains
  • Fly to train from arrival and departure

Phone optimizations

  • Sidebar responsive
  • Height of navbar shorter
  • Items in navbar collapsable on small to medium screen
  • Stations table responsive

Train popup improvements

  • Clickable trainset number to open trainset information page (Mock for now)
  • Clickable ride number to open train/ride information page (Mock for now)
  • Show last information update time
  • Show train type
  • Sharable linkt to train on map
  • Fix: train pop opens slowely
  • Fix: set max width

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.