MCPcopy Index your code
hub / github.com/danielthepope/trntxt

github.com/danielthepope/trntxt @v3.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.0.0 ↗ · + Follow
12 symbols 23 edges 10 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

trntxt

Build Status Dependency Status

Pronounced "train text" and currently live at trntxt.uk, this is a GPRS-friendly UK train times web service.

(Also lives at traintext.uk, but that's not as cool)

Uses the National Rail 'Darwin' API to get departure times.

Usage

trntxt currently gives departure times for a given station, optionally filtered by a calling station.

Stations can be input using either their 3-letter codes or by their names (without spaces). For example, 'bristolparkway', 'bristolp' and 'bpw' will all give times for Bristol Parkway.

Examples

  • /pad: Departure board for London Paddington
  • /swindon: Departure board for Swindon
  • /bth/cardiffcentral: List of trains from Bath Spa that call at Cardiff Central

Contributing

Thanks for helping out! Please feel free to fork this repo, make your changes then make a pull request.

If you want to run this program locally, you will need to register for a National Rail API key here.

Once you have a key, paste it into ./config/config.js; this file is generated based on the template ./config/config.example.js at build-time.

config/config.js should look like this

module.exports = {
    apiKey: 'your-api-key-here'
};

Install the required packages using npm install in the command line. You also need to install the gulp command line interface globally, if you haven't already done so: npm install -g gulp-cli

To run the server, just type gulp. The server runs, then restarts if any of the JavaScript files are changed.

To do

There are still a few things I'd like to do with trntxt. Check out the issues page for things to do. If you want to tackle a particular issue, let me know first in a comment or on Twitter - I might be working on it already!

Acknowledgements

There are a number of people I'd like to thank for helping me out throughout the development of this project. The contributors page doesn't tell the whole story, so here we go.

  • Tom Lane, for giving a talk about Open Rail Data, planting the seed for this idea;
  • Rikki Tooley, for first suggesting the idea of dynamically generated app icons;
  • Alex Birch, who helped me set up a much better way of managing the configuration files, and who submitted the first pull request to this project. However I completely mullered the PR so he didn't appear on the contributors page (sorry!);
  • Marcus Noble, for solving an issue I had raised just a couple of hours before;
  • My brother Kieran (who doesn't own a GitHub profile - yet), who was my guinea pig for much of my Android testing;
  • Jamie Greef, for his enthusiasm and for the quote "It just works";
  • Tom Wright, who helped me set up Mocha so I can prove Jamie's statement;
  • And to Jeff Schomay, who although didn't contribute to the project directly, he organised the first Bristol Hack Nights, giving us developers a sociable space for us to work on our projects.

Core symbols most depended-on inside this repo

compile
called by 2
server.js
getStationNameFromCrs
called by 2
src/nationalrail.js
processDarwinServices
called by 2
src/nationalrail.js
getStationsFromRequest
called by 1
server.js
loadStations
called by 1
src/nationalrail.js
biggestChunk
called by 1
src/nationalrail.js
getDepartureObject
called by 1
src/nationalrail.js
getArrivalTimeForService
called by 1
src/nationalrail.js

Shape

Function 12

Languages

TypeScript100%

Modules by API surface

src/nationalrail.js7 symbols
src/iconGenerator.js3 symbols
server.js2 symbols

Datastores touched

trntxt_hitsCollection · 1 repos

For agents

$ claude mcp add trntxt \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page