Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
1dbfd5a
feat: push to gcp sandbox and prod registries
pranavs6 Jun 3, 2026
e8ce13a
exposing cluster id for stops
sameerzohy Jun 5, 2026
e86c24c
added query param for clusterId exposing
sameerzohy Jun 5, 2026
ebd3e78
migrate_gtfs_data_from_nandi_to_gims
blaze-198 Jun 8, 2026
ec579a9
chore: update preprocessed GTFS data from Nandi build (32e0c3)
Jun 8, 2026
564bfd6
chore: update preprocessed GTFS data from Nandi build (32e0c3)
Jun 8, 2026
e35bdb7
chore: update preprocessed GTFS data from Nandi build (8f871e)
Jun 9, 2026
6b11add
feat: track is_completed for trips with action; reset on audit/closur…
pranavs6 Jun 10, 2026
06fc3cc
chore: update preprocessed GTFS data from Nandi build (8f871e)
Jun 10, 2026
635394d
chore: update preprocessed GTFS data from Nandi build (b1ca96)
Jun 10, 2026
d217160
fix: toggle is_completed on trip rollback, reset
pranavs6 Jun 12, 2026
24cf579
enh: filter completed trips in bus_route_schedule
pranavs6 Jun 12, 2026
78b41ef
fix: consume is_active_trip for trips only with online waybill status
pranavs6 Jun 15, 2026
6b0f83e
fix: move internal_only, external_only gtfs_ids to a list and functio…
pranavs6 Jun 15, 2026
ce3828a
chore: update preprocessed GTFS data from Nandi build (337064)
Jun 15, 2026
5413cb2
chore: update preprocessed GTFS data from Nandi build (c36b9f)
Jun 15, 2026
06650c4
chore: update preprocessed GTFS data from Nandi build (77d2fb)
Jun 19, 2026
053d2ae
chore: update preprocessed GTFS data from Nandi build (4ae3a3)
Jun 19, 2026
534217c
chore: update preprocessed GTFS data from Nandi build (dc65ae)
Jun 19, 2026
059f755
fix: missed internal row checker
pranavs6 Jun 19, 2026
553f217
feat: add MobileNumber auth with role/token verification and optional…
Aadil-Ahmed-27 Jun 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -52,4 +52,12 @@ CLAUDE.md
.claude/

# Unused files
ignored/
ignored/

# Preprocessed per-trip stop-times shards.
# These are generated by the Nandi preprocessor and copied into assets/ at
# build time so they get baked into the GIMS Docker image. They are NOT
# source — individual shards exceed GitHub's 100 MB push limit, so they must
# never enter git. The Sync GIMS Repo step relies on this rule to keep the
# branch under the limit while the shards still reach every built image.
assets/trip_stoptimes/
4 changes: 4 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@ name = "gtfs-routes-service"
version = "0.1.0"
edition = "2021"

[[bin]]
name = "gtfs-routes-service"
path = "src/main.rs"

[dependencies]
# Web framework
actix-web = "4.3.1"
Expand Down
14 changes: 14 additions & 0 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,20 @@ pipeline {
sh "docker tag ${env.IMAGE_NAME}:latest ${env.ACCOUNT_ID2}.dkr.ecr.ap-south-1.amazonaws.com/${env.IMAGE_NAME}:${env.LAST_COMMIT_HASH}"
sh "docker push ${env.ACCOUNT_ID2}.dkr.ecr.ap-south-1.amazonaws.com/${env.IMAGE_NAME}:${env.LAST_COMMIT_HASH}"

// Push to GCP Artifact Registry — master (ny-sandbox)
withCredentials([file(credentialsId: 'gcp-sa-key', variable: 'GCP_KEY_FILE')]) {
sh 'cat $GCP_KEY_FILE | docker login -u _json_key --password-stdin https://asia-south1-docker.pkg.dev'
sh "docker tag ${env.IMAGE_NAME}:latest asia-south1-docker.pkg.dev/ny-sandbox/${env.IMAGE_NAME}/${env.IMAGE_NAME}:${env.LAST_COMMIT_HASH}"
sh "docker push asia-south1-docker.pkg.dev/ny-sandbox/${env.IMAGE_NAME}/${env.IMAGE_NAME}:${env.LAST_COMMIT_HASH}"
}

// Push to GCP Artifact Registry — prod (ny-prod)
withCredentials([file(credentialsId: 'gcp-sa-key-prod', variable: 'GCP_KEY_FILE_PROD')]) {
sh 'cat $GCP_KEY_FILE_PROD | docker login -u _json_key --password-stdin https://asia-south1-docker.pkg.dev'
sh "docker tag ${env.IMAGE_NAME}:latest asia-south1-docker.pkg.dev/ny-prod/${env.IMAGE_NAME}/${env.IMAGE_NAME}:${env.LAST_COMMIT_HASH}"
sh "docker push asia-south1-docker.pkg.dev/ny-prod/${env.IMAGE_NAME}/${env.IMAGE_NAME}:${env.LAST_COMMIT_HASH}"
}

}
}
}
Expand Down
181 changes: 181 additions & 0 deletions assets/metadata.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
{
"version": "d61c89ac3482",
"build_commit": "dc65ae",
"generated_at": "2026-06-19T11:58:28Z",
"gtfs_feeds": [
"bangalore_metro",
"bhubaneshwar_bus",
"chennai_bus",
"chennai_metro",
"chennai_suburban",
"delhi_bus",
"delhi_bus_nammayatri_application_mock",
"delhi_metro",
"kochi_metro",
"kolkata_bus",
"kolkata_metro",
"mumbai_metro",
"mumbai_suburban",
"sambalpur_bus"
],
"files": {
"routes.json": {
"sha256": "7e487aa0c8fa5dc4f9abd5a0a954f76a3a8034501b6321ceffb7fb8d549e0965",
"count": 8259
},
"stops.json": {
"sha256": "efc07881c19b0b165062d999d1203bcfdfe6ecb813be86fc1cdb883742f27358",
"count": 31790
},
"patterns.json": {
"sha256": "927a178a90e3fb553d22a1943b60da3e293101adddf889ee8e2c15d185869216",
"count": 8371
},
"route_stops.json": {
"sha256": "9436f70845f27ed1efbeb47e10e18a2c69fd18fa7e5fcd0dcad3e59886181a2b",
"count": 208611
},
"trip_stoptimes/bangalore_metro.json": {
"sha256": "e639d9a639c089d51cfd85efadcda52c2b5a277e8c6a77b159d5b4c4ea8a17f4",
"count": 2722
},
"trip_stoptimes/bhubaneshwar_bus.json": {
"sha256": "70816626318d547ab9cd801f62369af29c8c878d6a1dc3409dd4d6bb194ff47e",
"count": 4199
},
"trip_stoptimes/chennai_bus.json": {
"sha256": "8d00080a13e844d0dd1529eee034e24bb242504b01cf8a086e447558abc606fd",
"count": 51227
},
"trip_stoptimes/chennai_metro.json": {
"sha256": "19433454474303f58dc3428ccd33aa8c32239d9b2956a4299a539dc28e34a9a1",
"count": 3738
},
"trip_stoptimes/chennai_suburban.json": {
"sha256": "981ea7728f23fdf991e83329fd6988090f63a56f3955ef87ce1f11bd5f20ef9a",
"count": 807
},
"trip_stoptimes/delhi_bus.json": {
"sha256": "3c9a13d868ccb5cf8074e55c36580902c9331afe3db494548af7f7e3aee47241",
"count": 211851
},
"trip_stoptimes/delhi_bus_nammayatri_application_mock.json": {
"sha256": "da9b10ea10dd6dcd3c9ca2bf9cc33d26c874c03ba0f78dda9cbb89bf4b320b60",
"count": 24
},
"trip_stoptimes/delhi_metro.json": {
"sha256": "b2f65a0b5280ed64ea8e5fdf1c715ef62b096f7b79c74fd137de3db3bd181998",
"count": 21825
},
"trip_stoptimes/kochi_metro.json": {
"sha256": "13c6cb2d264d3f10e50351801f7d3cebd0b3fd68e7460d5797b2e1223fcbb928",
"count": 450
},
"trip_stoptimes/kolkata_bus.json": {
"sha256": "985e38be3a87d41be9d803d68b5ad7dfd73a59bb93aac45f205aadd213f039cc",
"count": 17227
},
"trip_stoptimes/kolkata_metro.json": {
"sha256": "d84a6561c5b6415fb9d63ab1738ba502ff0fed7fcaf75572f38c6d2fa3ec0d19",
"count": 1652
},
"trip_stoptimes/mumbai_metro.json": {
"sha256": "5af5a06131992c5305ea6bc75aa676792f4497dcf41e31c8711bca365b23931b",
"count": 279
},
"trip_stoptimes/mumbai_suburban.json": {
"sha256": "8a374cba7e8b57f9cb8e9c43300984dd7014e2a51e3cc210c7a41fdfa928d2d7",
"count": 134
},
"trip_stoptimes/sambalpur_bus.json": {
"sha256": "11196eed2c41b0aa60e8f4268aa5eeb7aa04de108bcb046ade0800fa8f22f496",
"count": 405
}
},
"stats": {
"bangalore_metro": {
"routes": 6,
"stops": 472,
"patterns": 58,
"route_stop_mappings": 170
},
"bhubaneshwar_bus": {
"routes": 493,
"stops": 2916,
"patterns": 493,
"route_stop_mappings": 16875
},
"chennai_bus": {
"routes": 4132,
"stops": 17966,
"patterns": 4132,
"route_stop_mappings": 71616
},
"chennai_metro": {
"routes": 44,
"stops": 313,
"patterns": 50,
"route_stop_mappings": 593
},
"chennai_suburban": {
"routes": 804,
"stops": 722,
"patterns": 807,
"route_stop_mappings": 16814
},
"delhi_bus": {
"routes": 2621,
"stops": 6676,
"patterns": 2621,
"route_stop_mappings": 98947
},
"delhi_bus_nammayatri_application_mock": {
"routes": 1,
"stops": 11,
"patterns": 1,
"route_stop_mappings": 11
},
"delhi_metro": {
"routes": 22,
"stops": 1126,
"patterns": 57,
"route_stop_mappings": 561
},
"kochi_metro": {
"routes": 2,
"stops": 25,
"patterns": 8,
"route_stop_mappings": 50
},
"kolkata_bus": {
"routes": 88,
"stops": 714,
"patterns": 88,
"route_stop_mappings": 1772
},
"kolkata_metro": {
"routes": 10,
"stops": 182,
"patterns": 20,
"route_stop_mappings": 114
},
"mumbai_metro": {
"routes": 3,
"stops": 50,
"patterns": 3,
"route_stop_mappings": 62
},
"mumbai_suburban": {
"routes": 2,
"stops": 37,
"patterns": 2,
"route_stop_mappings": 74
},
"sambalpur_bus": {
"routes": 31,
"stops": 580,
"patterns": 31,
"route_stop_mappings": 952
}
}
}
1 change: 1 addition & 0 deletions assets/patterns.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions assets/route_stops.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions assets/routes.json

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions assets/stops.json

Large diffs are not rendered by default.

8 changes: 6 additions & 2 deletions dhall-configs/dev/gtfs_in_memory_server_rust.dhall
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
let LogLevel = < TRACE | DEBUG | INFO | WARN | ERROR | OFF >
clet LogLevel = < TRACE | DEBUG | INFO | WARN | ERROR | OFF >

let logger_cfg = {
level = LogLevel.INFO,
Expand Down Expand Up @@ -65,5 +65,9 @@ in {
osrtc_username = secrets.osrtc_username,
osrtc_secret_key = secrets.osrtc_secret_key,
osrtc_station_refresh_interval_hours = 1,
osrtc_feed_key = Some "odisha_osrtc"
osrtc_feed_key = Some "odisha_osrtc",

-- Preprocessed data configuration
use_preprocessed_data = False,
preprocessed_data_dir = "./assets"
}
Loading