The gRPC-Web API for provides nearby japanese train station.
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.
Thanks goes to these wonderful people (emoji key):
Kanta Demizu π£ π π» |
SAIGUSA Tomotada π€ π£ |
mittan12 π£ |
CodeRabbit π |
This project follows the all-contributors specification. Contributions of any kind welcome!
Do you like this project? Join our Discord community! https://discord.gg/qKT7zSGQre
This project includes comprehensive tests for the repository layer:
# Using Cargo directly
cargo test --lib --package stationapi
# Or using Make
make test-unit
# Set up environment and run integration tests
source .env.test
cargo test --lib --package stationapi --features integration-tests
# Or using Make
make test-integration
# Run unit tests followed by integration tests
make test-all
For detailed testing information, see docs/repository_testing.md.
Repository layer tests cover:
- β
Data conversion logic (
Row
βEntity
) - β Database query operations
- β Error handling and edge cases
- β
Filtering conditions (
e_status
,pass
fields) - β Alias handling (line names)
- β
Type conversions (
u32
βi32
,u32
βi64
)
We follow Rust best practices for testing:
- Unit tests run without external dependencies (fast, always available)
- Integration tests controlled by feature flags (opt-in when database is available)
- Cargo-native test execution using standard
cargo test
commands - Makefile shortcuts for common testing workflows