You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Rename "drivers" to "users" throughout for a more generic identity
model that supports future roles beyond drivers
- Change auth from phone+PIN to email+password
- Revise schema: add created_at/updated_at timestamps, introduce
user_vehicles join table for many-to-many assignments, add
source_type enum column to location_points for future crowdsourced
data support
- Update API endpoints to reflect users terminology
- Location points table (id, user_id, vehicle_id, trip_id, lat, lon, bearing, speed, accuracy, source_type, recorded_at, received_at) — `source_type` is an enum/string column (e.g. `driver_app`, `crowdsourced`, `avl_import`) defaulting to `driver_app`; allows filtering and applying different trust/accuracy thresholds per data source in the future
243
244
- Implement `POST /api/v1/locations` — accept a location report, validate, persist, update in-memory state
244
245
- Implement `GET /gtfs-rt/vehicle-positions` — build a `FeedMessage` from in-memory state and serialize to protobuf
245
246
- Add JSON output option for debugging (`?format=json`)
@@ -252,25 +253,26 @@ This timeline follows the GSoC 2026 standard coding period (May 25 – August 24
252
253
253
254
**Deliverable:** The server has secure authentication for drivers and API consumers, plus admin endpoints for managing vehicles and drivers.
- Implement basic authorization (admin vs. driver roles)
266
+
- Implement basic authorization (admin vs. user roles)
265
267
- Implement system status endpoint (`GET /api/v1/admin/status`)
266
268
- Write tests for auth flows and admin operations
267
269
268
-
**Exit Criteria:**Drivers can log in and submit locations with a valid token. Unauthorized requests are rejected. Admins can manage vehicles and drivers via the API.
270
+
**Exit Criteria:**Users can log in and submit locations with a valid token. Unauthorized requests are rejected. Admins can manage vehicles and users via the API.
269
271
270
272
-----
271
273
272
274
> **⏰ Midterm Evaluation (July 6–10)**
273
-
>
275
+
>
274
276
> At this point, the contributor should have a functional server that: (1) authenticates drivers, (2) ingests location reports, (3) serves a valid GTFS-RT feed, and (4) has admin management endpoints. The server should be deployable via Docker. The mentor evaluates progress, adjusts scope if needed, and confirms direction for the Android app work.
275
277
276
278
-----
@@ -280,7 +282,7 @@ This timeline follows the GSoC 2026 standard coding period (May 25 – August 24
280
282
**Deliverable:** A working Android app that captures GPS locations continuously via a foreground service and sends them directly to the server.
281
283
282
284
- Set up Android project (Kotlin, Jetpack Compose, Hilt)
0 commit comments