Skip to content

BusBee is a website displaying bus routes, stops and timetables across greater Manchester. Developed as part of IS3S665 - GIS and the Spatial Web - at The University of South Wales.

License

Notifications You must be signed in to change notification settings

TotalDwarf03/busbee

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BusBee

BusBee Logo

BusBee is a spatially enabled website that visualises bus routes, stops and timetables across Greater Manchester using the Leaflet and OpenLayers libraries.

This project was created as part of IS3S665 - GIS and the Spatial Web at the University of South Wales (USW).

The curriculum for the module can be found here: IS3S665 - GIS and the Spatial Web

Deployment

A deployed version of the tool is available to try at: busbee.totaldwarf.dev.

Note: The above URL redirects you to Vercel deployment of the website.

Features

  • Interactive map visualisations of bus routes and stops across Greater Manchester.
  • Integration of bus timetables for easy access to schedule information.
  • Use of Leaflet and OpenLayers libraries for advanced mapping capabilities.
  • View pollution emission layers using WMS services.

Getting Started

To get started with the BusBee project, you can simply clone the repository and open the index.html file in your web browser.

Datasets

For information on the datasets used in this project, please refer to the README in the datasets directory.

Student Webserver Compatibility Tweaks (USW)

Unfortunately, a few changes have been made to the project in order to get it working on the USW student webserver. These changes are noted below:

  • File Types: The student webserver has restrictions on certain file types, geojson files in particular. To work around this, all geojson files have been converted to standard .json files.
  • Leaflet TrackPlayer Plugin: The Leaflet TrackPlayer plugin used in this project makes use of a .cjs file, which is not supported by the student webserver. To resolve this, the plugin has been modified to use a standard .js file instead.

Linting and Formatting

This project uses GitHub Actions to run Prettier and Markdownlint on push and pull requests to the main branch. These action can be found in the .github/workflows directory.

These action will check for formatting and linting issues in the codebase. If any issues are found, the action will fail and provide feedback on what needs to be fixed.

To fix any issues, you will need to run the tools locally using the instructions below.

Credit:

Prettier

To run Prettier locally, you will need to have Node.js and npm installed. You can then install Prettier using the following command:

npm install --global prettier

Note: This installs Prettier globally on your system. If you prefer to install it locally to the project, you can run npm install --save-dev prettier instead.

Once Prettier is installed, you can run it on the project using the following command:

prettier --write .

Markdownlint

Docker Installation (Recommended)

To run Markdownlint using Docker, you will need to have Docker or Podman installed. You can then run the following command from the root of the project:

docker run -v $PWD:/workdir ghcr.io/igorshubovych/markdownlint-cli:latest "**/*.md"

If using Podman, simply replace docker with podman in the command above.

Node.js Installation

To run Markdownlint locally, you will need to have Node.js and npm installed. You can then install Markdownlint using the following command:

npm install --global markdownlint-cli

Note: This installs Markdownlint globally on your system. If you prefer to install it locally to the project, you can run npm install --save-dev markdownlint-cli instead.

Once Markdownlint is installed, you can run it on the project using the following command:

markdownlint . --fix

Credits and Acknowledgements

Data Sources

Local Datasets

Basemaps + Layers

WMS Services

To find out more about my experience working with WMS services, see Working with WMS Services.

Primary Libraries & APIs

Leaflet

Leaflet (v1.9.4): Leaflet

This is the latest stable version of Leaflet at the time of writing.

Leaflet Extensions / Plugins

OpenLayers

OpenLayers (v6.15.1): OpenLayers

An older version of OpenLayers is used here since the use of Node Package Manager (NPM) is not used in the module curriculum. Version 6.15.1 is the latest version that does not require NPM for installation, and can instead use a simple script tag in the HTML.

OpenLayers Extensions / Plugins

Additional Imports

About

BusBee is a website displaying bus routes, stops and timetables across greater Manchester. Developed as part of IS3S665 - GIS and the Spatial Web - at The University of South Wales.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published