2017-10-23 23:13:53 +02:00
# db-rest
2022-12-19 13:18:25 +01:00
**A clean REST API wrapping around the [Deutsche Bahn HAFAS API ](https://github.com/public-transport/db-hafas#db-hafas ).** It is deployed at [`v6.db.transport.rest` ](https://v6.db.transport.rest/ ).
2017-12-16 11:47:03 +01:00
2021-11-14 16:21:30 +01:00
[**API Documentation** ](docs/readme.md )
2017-10-23 23:13:53 +02:00
2019-03-27 12:20:39 +01:00
![db-rest architecture diagram ](architecture.svg )
2018-01-09 00:06:53 +01:00
2022-12-19 13:18:25 +01:00
[![API status ](https://badgen.net/uptime-robot/status/m793274556-25c5e9bbab0297d91cda7134 )](https://stats.uptimerobot.com/57wNLs39M/793274556)
2017-10-23 23:13:53 +02:00
[![dependency status ](https://img.shields.io/david/derhuerst/db-rest.svg )](https://david-dm.org/derhuerst/db-rest)
![ISC-licensed ](https://img.shields.io/github/license/derhuerst/db-rest.svg )
2021-02-04 19:25:04 +01:00
[![support me via GitHub Sponsors ](https://img.shields.io/badge/support%20me-donate-fa7664.svg )](https://github.com/sponsors/derhuerst)
[![chat with me on Twitter ](https://img.shields.io/badge/chat%20with%20me-on%20Twitter-1da1f2.svg )](https://twitter.com/derhuerst)
2017-10-23 23:13:53 +02:00
2019-06-11 13:56:21 +02:00
## installing & running
2017-10-23 23:13:53 +02:00
2024-01-26 17:38:20 +01:00
### access to Redis
It is recommended that you let `bvg-rest` cache HAFAS responses within a [Redis ](https://redis.io/ ) cache. To use this feature, set `$REDIS_URL` (e.g. to `redis://localhost:6379/1` when running Redis locally).
2020-05-01 20:15:27 +02:00
2019-06-11 13:56:21 +02:00
### via Docker
2024-05-29 17:23:24 +02:00
A Docker image [is available as `docker.io/derhuerst/db-rest:6` ](https://hub.docker.com/r/docker.io/derhuerst/db-rest:6 ).
2019-06-11 13:56:21 +02:00
```shell
2024-05-29 17:23:24 +02:00
docker run -d -p 3000:3000 docker.io/derhuerst/db-rest:6
2017-10-23 23:13:53 +02:00
```
2019-06-11 13:56:21 +02:00
2020-05-01 20:15:27 +02:00
*Note:* The Docker image does not contain the Redis server.
2019-06-11 13:56:21 +02:00
### manually
```shell
2017-10-23 23:13:53 +02:00
git clone https://github.com/derhuerst/db-rest.git
cd db-rest
2022-12-19 13:18:25 +01:00
git checkout 6
2022-12-21 14:56:21 +01:00
npm install
2023-04-20 00:17:45 +02:00
export HOSTNAME='my-vbb-rest-api.example.org'
2022-12-21 14:56:21 +01:00
npm run build
2020-05-01 20:15:27 +02:00
redis-server &
2017-10-23 23:13:53 +02:00
npm start
```
2019-08-07 23:21:01 +02:00
To keep the API running permanently, use tools like [`forever` ](https://github.com/foreverjs/forever#forever ) or [`systemd` ](https://wiki.debian.org/systemd ).
2018-10-25 21:19:19 +02:00
2017-10-23 23:13:53 +02:00
2020-05-01 18:51:03 +02:00
## Related Projects
2024-01-25 14:49:59 +01:00
- [`DB-Adapter-v6` ](https://github.com/olech2412/DB-Adapter-v6 ) – A Java API client for `db-rest` .
2020-05-01 18:51:03 +02:00
- [`vbb-rest` ](https://github.com/derhuerst/vbb-rest ) – A clean REST API wrapping around the VBB API.
- [`bvg-rest` ](https://github.com/derhuerst/bvg-rest ) – A clean REST API wrapping around the BVG API.
- [`hvv-rest` ](https://github.com/derhuerst/hvv-rest ) – A clean REST API wrapping around the HVV API.
- [`hafas-rest-api` ](https://github.com/public-transport/hafas-rest-api ) – Expose a HAFAS client via an HTTP REST API.
- [`hafas-client` ](https://github.com/public-transport/hafas-client ) – JavaScript client for HAFAS public transport APIs.
2017-10-23 23:13:53 +02:00
## Contributing
If you **have a question** , **found a bug** or want to **propose a feature** , have a look at [the issues page ](https://github.com/derhuerst/db-rest/issues ).