1BahnQL

by dennispost

GitHub Readme.md

1BahnQL

Single unified API for all DBOpenData APIs implemented with GraphQL. We implemented the following APIs: StaDa, FaSta, TimeTables, Flinkster, CallABike, ParkplätzeAPI, ReiseCenter

GraphiQL Playground

1BahnQL GraphiQL

Usage

Install

The installation requires node.js as the execution environment as well as npm as the package manager. Then run npm install as a command on your commandline interface.

Run

You need an active authentication token to run your personal installation. You can get one on developer.deutschebahn.com. After creating you account you also have to subscribe to desired services by your own.

Use your "Zugangstoken" as the DBDeveloperAuthorization Token and run the server:

DBDeveloperAuthorization=<Your DBOpenData Authentication Token> node index.js

Optional parameters:

  • DBBaseURL

Heroku Deploy

Deploy

Data Sources

Following data sources are currently technically implemented. You need to subscribe to each service at developer.deutschebahn.com to use them with 1BahnQL.

API based sources:

static sources:

Root Queries

Connection Search

tbi

Stringbased Search

  • Station
  • Zug

Geo Search

  • Station
  • Bahnsteig
  • Flinkster
  • Call a Bike
  • Parkplätze
  • Zug
  • Fahrstühle / Rolltreppen

ID Access

  • EvaId (Station)
  • DS100 (BetrSt)
  • Zug
  • Flinkster
  • Call a Bike
  • Fahrstühle / Rolltreppen
  • Parkplätze
  • Bahnsteig