MobilityData / gbfs-validator

The canonical GBFS validator. Maintained by the GBFS community, facilitated by MobilityData.
https://gbfs-validator.mobilitydata.org/
Apache License 2.0
18 stars 12 forks source link
bike bikeshare bikesharing gbfs

GBFS-validator

All Contributors

A General Bikeshare Feed Specification dataset validator

Introduction

The Canonical GBFS Validator is a tool to check the conformity of a GBFS feed against the official specification. It validates feeds up to GBFS version 3.0. This tool is built using the JSON Schemas, and the site is powered by Netlify.

interface

The schemas in gbfs-validator/versions/gbfs-json-schema is a git submodule of https://github.com/MobilityData/gbfs-json-schema.

Questions? Please open an issue or reach out on the #gbfs channel on the MobilityData Slack.

Run the app

The validator is developed to be used “online” (hosted with a lambda function).

  1. Open https://gbfs-validator.mobilitydata.org
  2. Enter the feed’s auto-discovery URL
  3. If needed, select the version. If not specified, the validator will pick the version mentioned in the gbfs.json file
  4. Select file requirement options (free-floating or docked)
  5. Click the “Validate me !” button, and see the validation results below

Validation rules

The validation rules are listed in RULES.md Have a suggestion for a new rule? Open an issue!

Build the project: Web server install procedure

Required

To build the project locally, you need:

Run dev environment

Command line

The GBFS validator can be used as a Command Line Interface (CLI):

Options: -v, --version output the version number -u, --url URL of the GBFS feed -vb, --verbose Verbose mode prints debugging console logs -s, --save-report Local path to output report file -pr, --print-report Print report to standard output (choices: "yes", "no", default: "yes") -h, --help display help for command



### Npm package
The gbfs-validator Node.js npm package is now accessible for integration into your projects. To learn how to install and utilize it effectively, please refer to the [README](./gbfs-validator/README.md) for comprehensive guidance.

## Projects based on this validator

[transport.data.gouv.fr GBFS validator tool](https://transport.data.gouv.fr/validation?type=gbfs) - Tool displaying interactive geofencing, station, and vehicle maps, the validation results, and metadata of GBFS feeds.

## Contributors

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://allcontributors.org/docs/en/overview) specification, find the [emoji key here](https://allcontributors.org/docs/en/emoji-key). Contributions of any kind welcome! Please check out our [Contribution guidelines](/CONTRIBUTING.md) for details.

:warning: for contributions on schemas, please see [Versions README](gbfs-validator/versions/README.md)

## OpenAPI Specification

:warning: **Subject to change**: This OpenAPI specification may change at any time. We do not recommend building any production systems that depend on this API directly.

The OpenAPI specification can be viewed at: https://mobilitydata.github.io/gbfs-validator/SwaggerUI/index.html.

## Acknowledgments

This project was originally created by Pierrick Paul ([@PierrickP](https://github.com/PierrickP)) at [fluctuo](https://fluctuo.com/) - MobilityData started maintaining the project in September 2021.