Skip to content

Repository files navigation

StationAPI

Billboard

All Contributors

A GraphQL API that provides nearby Japanese train stations and bus stops, running on Cloudflare Workers.

Documentation

Data Contribution

This project includes a comprehensive dataset of Japanese railway information in the data/ directory. The data is maintained in CSV format and contributions are primarily targeted at Japanese speakers. For detailed information about data structure and contribution guidelines, please refer to data/README.md.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Kanta Demizu
Kanta Demizu

🔣🚇💻
SAIGUSA Tomotada
SAIGUSA Tomotada

🤔🔣
mittan12
mittan12

🔣
CodeRabbit
CodeRabbit

👀

This project follows the all-contributors specification. Contributions of any kind welcome!

Join our community(Japanese only)

Do you like this project? Join our Discord community! https://discord.gg/tsemdME9Nz

Development

No database is required. The data is generated into generated/*.csv and embedded into the WASM binary at build time.

rustup target add wasm32-unknown-unknown
cargo install worker-build --locked
make data # build generated/*.csv from data/ and the GTFS feeds
make build # build the Worker (wasm)
make dev # run it locally on http://127.0.0.1:8787

make help lists every target.

Testing

make test# unit tests for every native crate
make check # type-check, including the wasm32 target
make clippy # lint, including the wasm32 target
make fmt # formatting check

Tests need no external services. stationapi (domain / use case) and preprocessor (data pipeline) are covered by unit tests; the published GraphQL schema is verified in CI by diffing the Worker's SDL against schema/public.graphql.

Deploying

make deploy # staging -> stationapi-stg
make deploy-production # production -> stationapi

The data lives inside the WASM binary, so a data change needs a rebuild and a redeploy; it is not picked up at runtime.

About

🤖 The GraphQL API for nearby Japanese train stations and bus stops, powered by Rust and Cloudflare Workers.

Topics

Resources

Contributing

Stars

10 stars

Watchers

1 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages