Skip to content

rml1997/fares-engine

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

British Rail Fares Engine Build Status

The British Rail Fares Engine is a library, API and user interface that can be used to return Britsh rail fares.

It relies on data from Rail Delivery Group. The rules around journey/fare validity are very specific to British rail and are not useful for other data sets.

It does not test the validity of journeys as it has no concept of a journey. The journey planner and fares service integrates fares from this fares engine with journeys from a journey planner and validates the two.

Testing

npm test

Setup

It is assumed that MySQL is installed locally and there is a database called fares set up. The database credentials can be overriden by setting environment variables DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_HOST DATABASE_NAME.

If you have a username and password for DTD you can set the credentials with SFTP_USERNAME and SFTP_PASSWORD, you can also override the host with SFTP_HOSTNAME.

SFTP_USERNAME=dtd_username SFTP_PASSWORD=dtd_password npm run data-download
npm run data-clean 

Run

Starting the service will load some data into memory (~30 seconds) and then start the service on port 8002. Browsing http://localhost:8002 will display the test user interface.

npm start

Contributing

Issues and PRs are very welcome.

License

This software is licensed under GNU GPLv3.

Copyright 2017 Linus Norton.

About

TypeScript implementation of the fares engine

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 90.9%
  • HTML 9.1%