Fix DB schema to match GTFS specification

The fact that the DB schema was incompatible with the GTFS specification
(https://developers.google.com/transit/gtfs/reference) caused the app to
stop working.

This CL fixes this issue.

Change-Id: Ic8603d8026d8cee4853b02f5d67ec7e068b982d4
1 file changed
tree: 3f849dfde36014c3893454d991a0d3d5ba2b9947
  1. ajax/
  2. cron/
  3. css/
  4. img/
  5. inc/
  6. js/
  7. proto/
  8. vendor/
  9. views/
  10. .gitignore
  11. .gitreview
  12. composer.json
  13. composer.lock
  14. config.default.php
  15. core.php
  16. index.php
  17. info.php
  18. LICENSE
  19. offline.html
  20. README.md
  21. sw.js
README.md

schedules

Schedule viewer for the Barcelona subway.

Installation

  1. Clone this repository (usually in Apache's publicly accessible folder).
  2. Install PHP 7.2+ with the ZipArchive and PDO classes (specifically install the PDO_SQLITE driver)
  3. Copy the config.default.php file to config.php and fill in the details (you can get an API key directly from TMB here.
    • In $conf["databaseFile"] enter the absolute path of the location where you want to save your database (including the file name). If the website is located in the /var/www/html/schedules/ folder, you can create a new files folder there and set the variable to /var/www/html/schedules/files/gtfs.sqlite3.
  4. Run the cron/parsegtfs.php script regularly to get updated information (e.g. once a week).

Notes

  • As I've been able to see when using this app around Barcelona, the schedules provided by TMB are a very vague approximation of the departure times for all lines except for the automated lines. In the case of the automated lines, the timing is precise within a second.