{"id":13573125,"url":"https://github.com/denysvitali/gtfs-server","last_synced_at":"2025-03-18T19:30:27.845Z","repository":{"id":37890910,"uuid":"124148003","full_name":"denysvitali/gtfs-server","owner":"denysvitali","description":"A General Transit Feed Specification (GTFS) server written in Rust","archived":false,"fork":false,"pushed_at":"2022-12-07T02:02:08.000Z","size":2524,"stargazers_count":33,"open_issues_count":8,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-09T00:43:12.319Z","etag":null,"topics":["api","gtfs","rust","server","transport"],"latest_commit_sha":null,"homepage":"https://denysvitali.github.io/gtfs-server","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/denysvitali.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-06T22:44:57.000Z","updated_at":"2025-02-09T19:49:09.000Z","dependencies_parsed_at":"2023-01-24T12:46:09.883Z","dependency_job_id":null,"html_url":"https://github.com/denysvitali/gtfs-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denysvitali%2Fgtfs-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denysvitali%2Fgtfs-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denysvitali%2Fgtfs-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/denysvitali%2Fgtfs-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/denysvitali","download_url":"https://codeload.github.com/denysvitali/gtfs-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243945540,"owners_count":20372896,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","gtfs","rust","server","transport"],"created_at":"2024-08-01T15:00:30.149Z","updated_at":"2025-03-18T19:30:27.542Z","avatar_url":"https://github.com/denysvitali.png","language":"Rust","funding_links":[],"categories":["Uncategorized","Producing Data"],"sub_categories":["Uncategorized","Software for Creating APIs"],"readme":"# GTFS Server\nA [General Transit Feed Specification (GTFS)](https://en.wikipedia.org/wiki/General_Transit_Feed_Specification) server to expose\nsome REST APIs.\n\n## Requirements\n- Rust (Nightly, preferably)  \n- PostgreSQL with GIS ([PostGIS](http://www.postgis.org/))\n- (Docker)\n\n### Data Visualization (not required)\n- QGIS\n\n## Instructions\n\n### Download \u0026 Extract a feed\n```bash\nmkdir resources/gtfs/sbb/\nwget https://opentransportdata.swiss/en/dataset/timetable-2018-gtfs/permalink -O resources/gtfs/sbb/gtfs.zip\ncd resources/gtfs/sbb/\nunzip gtfs.zip\n```\n\n### Deploy with Docker\n#### PostGIS\n```\ndocker network create --subnet=172.18.0.0/16 gtfs-server-net\ndocker run --name gtfs-server-db --net gtfs-server-net --ip 172.18.0.2 -e POSTGRES_PASSWORD=mysecretpassword -d mdillon/postgis\n```\n\n### Run the server\n```\ncargo run\n```\n\n### Check if the data was imported\nhttp://127.0.0.1:8080/api/stops\n\n### Data import\n`feed-id` is your feed unique identifier. It will be used across the DB to generate the stop IDs. \nThis will allow us to filter out the feeds that are no longer actives once the DB is populated.\n#### Stops\nhttp://127.0.0.1:8080/api/import/stops/feed-id\n\n#### Trips\nhttp://127.0.0.1:8080/api/import/stops/feed-id\n\n\n## Endpoints \u0026 Objects\nCheck the [Documentation](https://denysvitali.github.io/gtfs-server/) for more info about the endpoints and the objects.\n\n## Screenshots\n\n### /api/trips/`\u003cstop_id\u003e`\n![/api/trips/\u003cstop_id\u003e](screenshots/1.png)\n### /api/stops/\n![/api/stops/](screenshots/2.png)\n### /api/stops/near/`\u003clatitude\u003e`/`\u003clongitude\u003e`/`\u003crange\u003e`\n![/api/stops/near/\u003clatitude\u003e/\u003clongitude\u003e/\u003crange\u003e](screenshots/3.png)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenysvitali%2Fgtfs-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdenysvitali%2Fgtfs-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdenysvitali%2Fgtfs-server/lists"}