cal-itp / graas Goto Github PK
View Code? Open in Web Editor NEWLicense: GNU General Public License v3.0
License: GNU General Public License v3.0
...instead of command line args
Need to define requirements, but they could include
it references keys/sbc/id_rsa, which either needs to be updated to "clean-air-express", or the file needs to be removed
Folder per agency, with all historic files
Desert Roadrunner 1/11/21
Like Black or something similar
Prevent route-names.json from getting out-of-sync with static-gtfs files. This also streamlines agency onboarding.
Comment from @unreasonableman:
Building a system to generate static GTFS feeds isn't really a trivial undertaking, but we may be able to iteratively ease our way into it.
One of the big issues for creating static GTFS is to specify lists of lat/long values for the shapes.txt file. A possible approach is to use the web app as is. Manually create a trips.txt file, and then let the driver/operator/etc. run the web app as usual. Route points will be recorded into our DB, and can subsequently be extracted to create shapes.txt.
There is of course also the issue of creating timetables for routes, which we will need to figure out how to do (OCR of existing paper schedules, export from excel sheets, etc.)
A proposal to free drivers from the grind of having to start and stop trips manually.
patrol
mode so that app constantly sends location updates without trip ID, but with vehicle IDAssign Trip
, which brings up trip dropdownEnd Trip
/assign-vehicle
expects JSON that has agency-id
, vehicle-id
and trip-id
<agency-id>-<vehicle-id>
Assignment
DB tableunassigned
<agency-id>-<vehicle-id>
. Get trip-id
value from assignment table. If unassigned
add to unassigned feed (see below), otherwise add trip-id
field and proceed with normal update flow/unassigned-vehicle-positions
which has the same structure as /vehicle-positions
, except trip IDs are all unassigned
Currently a nightly job creates one "dashboard" image per agency, containing info on each trip they took that day using the GRaaS app. Example:
Provide billing updates to allow for easy monitoring of cost. Basically, to avoid surprises.
Send email saying "no trips today"
Service may be different than normal on New Years Day, Christmas etc. Include this detail in GRaaS (ie incorporate calendar_dates.txt in addition to calendar.txt.
This has been the root cause for some agency issues, leading to the Calendar value being null on routes_names.json
When I run the web app and try to load the QR scanner, my camera activates (green light turns on), but no camera view appears. It is still able to scan QR codes. If I start a new tab in safari and then go back to the web app, the camera view appears
I recently updated my Macbook Air to MacOS Monterey, and my best guess is this is an issue with the latest version of Safari.
It works fine in Chrome on the same machine, as well as on Safari on my old iPad
This html-qrcode issue captures the same issue (no resolution yet, though).
Copied from GRaaS Staging, notes from @unreasonableman:
Scanned QR code for TCRTA on ipad, then pressed Start button. Dropdowns were empty. Checked filter params and route bucket files, both looked reasonable. Ran web app on desktop safari wit js console open to debug. Routes showed up. Went back to ipad, quit out of safari there and restarted. Issue did not persist past restart.
This may be harder to debug, but it's a bad first impression if it happens.
Additional detail: the dropdowns were completely blank, i.e. didn't have "Select Route" or "Select Vehicle". This suggests either a crash or a stall, and not a filtering issue.
We have a backend for creating agency service alerts - build a front end.
As a part of agency onboarding, we set up several json files for each agency, containing vehicle, route & filter parameters. Create a front-end that GRaaS field ops personnel can use to generate, update and modify these values.
The goal would be to streamline/automate the Create service data for agency
and Create keys for agency sections of our onboarding runbook.
If route_name is used for one, it should be used for the other. Same with headsign.
The GRaaS report treats trip_id as a unique identifier. This generally works, as there should only be one "map" per trip, but there are some exceptions, such as:
In either of these cases, the GRaaS report will arbitrarily consolidate/overwrite the trips, so that they appear as a single trip.
To address this, we could group data on the GRaaS report by "sessionID" in addition to tripID, so that two maps of the same trip can exist side by side.
SesssionID has been implemented already in the web app, which means the remaining step is to handle trip inference. This can be done one of two ways:
A) Assign a sessionID for trip inference devices (ie new daily unique identifier)
B) In the GRaaS report generation logic, make up a session ID for trip inference devices.
I think B would be sufficient.
Create a website that agencies can use to access various GRaaS tools - such as service alert creation and the GRaaS report.
This could overlap/be shared with existing Cal-ITP infrastructure.
Note that #80 produced a bad solution, with links unable to be previewed
Instructions from here:
Kay's note on #98:
We are actually pretty close to making this class a very light-weight java API for sendgrid. It's kind of a separate project, but really what's missing is:
service_account_key's are being deprecated (according to warning that appeared on github). We need to set up Workload Identity Federation instead.
Actions to update:
First we need a new slack webhook, likely requiring a paid plan. Then we need to create a SlackFailureReporter and set it up in LoadAGencyDataTest and/or in GraphicReport.
Build alerting that notifies us of server issues.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.