Skip to content
This repository was archived by the owner on Apr 13, 2025. It is now read-only.

mapintelligenceagency/gbfsQL

Repository files navigation

gbfsQL: GraphQL wrapper for GBFS feeds

gbfsQL takes a list of GBFS feeds and exposes a dynamic GraphQL API that you can use. Pull requests are always welcome.

Currently Supported Features

We support GBFS Version v2.1-RC (compatible with release 2.0) and aim to update this project to newer releases as soon as they become available.

  • SystemInformation, StationInformation, StationStatus, FreeBike, Geofencing Zones and SystemAlert endpoints
  • Real-time updates via GraphQL Subscriptions
  • Autodiscovery of available feeds
  • Dashboard, listing all active feeds

Notes

gbfsQL will query the GBFS-Feed every time the TTL expires and cache results. That means requesting data from gbfsQL is very fast and will not incur an additonal request to the GBFS-Feed.

Quickstart

Try the Example below or use the follwing command to start a gbfsQL Docker container:

docker run -it --rm --name gbfsQL -e NODE_ENV=development -p 4000:4000 mapintelligenceagency/gbfsql -service <Name of Service>#<URL to */gbfs.json> 

Example

Create a docker-compose.yml file like this:

version: '3.3' services: gbfsql: container_name: gbfsQL command: - '--services' - 'JUMP_LA#https://gbfs.uber.com/v1/laxs/gbfs.json' - 'UBIKE_UV#http://ubike.virginia.edu/opendata/gbfs.json' - '--verbose' # the dashboard will be at domain.com/dashboard - '--dashboard' environment: - NODE_ENV=development ports: - '4000:4000' image: mapintelligenceagency/gbfsql

Start gbfsQL with docker-compose up

Now you can visit the GraphiQL Board at http://localhost:4000 and query data using this sample query:

query { JUMP_LA { bikes { lat lon } } UBIKE_UV { stations { name currentStatus { is_renting } } } }

License

License: MIT

About

A GBFS to GraphQL Wrapper

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 4

  •  
  •  
  •  
  •