Commit Graph

582 Commits

Author SHA1 Message Date
44d2da45d1 Update Chapman region to wider campus bounds
https://claude.ai/code/session_0162emnCi1KxW5FkTNn2ZrvH
2026-03-23 22:08:57 +00:00
fe649c81eb Change region to use top-left and bottom-right coordinates
Replace center+delta region representation with a bounding box defined
by topLeft and bottomRight coordinate pairs, which maps more directly
to the visible map area.

https://claude.ai/code/session_0162emnCi1KxW5FkTNn2ZrvH
2026-03-23 22:05:57 +00:00
946f8dd342 Add initial region loading for supported systems
Expose an initialRegion field on the System GraphQL type so the app can
display the correct campus area on first load instead of a zoomed-out
default map view. Chapman University is configured with coordinates
centered on campus.

https://claude.ai/code/session_0162emnCi1KxW5FkTNn2ZrvH
2026-03-23 22:02:42 +00:00
b1420cfa7e Add REDIS_USE_TLS environment variable to configure TLS for Redis 2026-02-23 12:06:10 -08:00
4e35498be7 Switch to using in-memory shuttle and ETA repositories
This is to improve performance until Redis is migrated to the same memory space as the server.
2025-12-06 09:22:24 -08:00
298bf229f8 Mark shuttle as not at stop when removing a shuttle 2025-11-23 20:29:50 -08:00
19cdbec42b Refactor all Redis keys to use variables, and add clearing of shuttle isAtStop set on shuttle clear 2025-11-23 20:29:06 -08:00
8d2dd60cfb Remove the unsupported shuttleStopNearbyDegreeDelta option from InterchangeSystemBuilderArguments 2025-11-22 18:21:22 -08:00
ee10daf957 Rename getArrivedStopIfExists to getArrivedStopIfNextStop, and add more documentation 2025-11-21 11:42:42 -08:00
715bef163c Add stopgap ETA of 1 second when the shuttle has arrived at a stop 2025-11-21 11:33:22 -08:00
6c199e38a8 Test previously failing case for SHUTTLE_WILL_LEAVE_STOP 2025-11-21 11:10:10 -08:00
413443a162 Update the method to accept a canReturnShuttleCurrentStop flag instead 2025-11-21 11:07:47 -08:00
8c341e91e0 Call getArrivedStopIfExists based on different parameter 2025-11-21 10:57:04 -08:00
712e311006 Update getArrivedStopIfExists method to take an argument returnNextStopOnly 2025-11-21 10:51:38 -08:00
c2f1a67a70 Remove unused ETA code from RedisShuttleRepository 2025-11-21 10:39:08 -08:00
f34f78aaea Remove the delta argument in ShuttleGetterRepository.getArrivedStopIfExists 2025-11-20 19:07:30 -08:00
37fbc3ef45 Make checkIfShuttleIsAtStop part of the ShuttleGetterRepository interface 2025-11-20 17:48:49 -08:00
ddab9b96ff Remove SHUTTLE_IS_NEAR_NEXT_STOP event and placeholder tests 2025-11-20 17:47:13 -08:00
a9db9b5d5c Pass down the new arguments into the shuttle repositories 2025-11-20 16:47:50 -08:00
645fe1055b Add createRedisClientForRepository method to deduplicate default Redis client in constructor 2025-11-20 16:41:14 -08:00
b202189ad6 Fix typo in "shuttle" 2025-11-20 16:29:28 -08:00
1d98e8450e Update InterchangeSystemBuilderArguments with new properties for controlling event emitter degree delta 2025-11-20 16:26:25 -08:00
fb01406a29 Add placeholder test cases for SHUTTLE_IS_NEAR_NEXT_STOP event 2025-11-19 11:51:58 -08:00
2ff71b0dd1 Define a new event to indicate shuttle is near a stop 2025-11-19 11:48:22 -08:00
dbcc882a18 Only update ETAs in shuttle repository loader if repository was injected 2025-11-19 11:43:04 -08:00
545eaef74a Add implementation and test for leaving stop event 2025-11-19 11:31:13 -08:00
b8c3f17510 Add test for ETA clearing 2025-11-19 10:57:27 -08:00
83671e2b22 Add logic to fire the SHUTTLE_WILL_LEAVE_STOP event 2025-11-18 21:06:10 -08:00
c8c5aa28c6 Add a method to mark a shuttle as not at a stop 2025-11-18 20:42:06 -08:00
78cf60af4a Add code to mark shuttle at a stop (Redis set) 2025-11-18 20:27:00 -08:00
4ffdd35b21 Add other tests (one for multiple events, one for not emitting the event) 2025-11-18 20:02:06 -08:00
8d9ff3ac62 Add a test for emitting the event 2025-11-18 19:57:15 -08:00
47708d050e Move duplicate shuttle declarations in tests to a "sample" shuttle generated by the setup function 2025-11-18 19:50:07 -08:00
f334054b5e Add SHUTTLE_WILL_LEAVE_STOP event and upload payload names 2025-11-18 19:17:04 -08:00
34b2ab05d4 Rename properties in WillArriveAtStopPayload for more clarity 2025-11-18 19:14:29 -08:00
0798773bcb Replicate the change in the in-memory version 2025-11-18 19:07:44 -08:00
a2f76703ea Remove behavior of ETA clearing when shuttle is approaching stop 2025-11-18 19:07:06 -08:00
8621f10721 Switch the order of fallbacks (previous 2h first)
Data from the current day is more representative of current traffic conditions than the same data from a previous day.
2025-11-14 10:49:23 -08:00
f8e7670b3f For data from last week and previous day, look back instead of looking forward 2025-11-14 10:40:37 -08:00
397eb2b588 Change one-hour windows to two hours
A set of shuttles may only make a complete set of trips in two hours, so this should capture more data when calculating ETAs.
2025-11-14 10:34:48 -08:00
f06e778b80 Implement removal of last stop data on shuttle removal 2025-11-14 10:26:52 -08:00
1511b3c118 Add test case to check that last stop data is removed 2025-11-14 10:23:02 -08:00
f76126c951 Implement clearing of last stop data 2025-11-14 10:19:15 -08:00
4523badea9 Test that clearShuttleData also clears last stop data 2025-11-14 10:17:33 -08:00
a89d3c7ae3 Fix test references 2025-11-13 22:36:13 -08:00
6278d695fa Add support back in for external source ETA repositories, if we switch back later 2025-11-13 22:28:07 -08:00
b74a0d5d64 Restrict stop arrival event to only next stop after shuttle's last stop, if last stop exists 2025-11-13 22:13:17 -08:00
2df8f389b3 Change the final fallback window to two hours 2025-11-13 20:23:14 -08:00
f9ed8f16ac Bind methods and log errors for missing keys 2025-11-13 20:08:15 -08:00
d6ad90ee7a Change SHUTTLE_WILL_ARRIVE_AT_STOP to return payload of last stop and current stop, to avoid data race 2025-11-13 18:52:13 -08:00