Commit graph

79 commits

Author SHA1 Message Date
Levi Lesches
eaec35f730 Fixed launch.json 2025-05-05 02:52:19 -04:00
Levi Lesches
92927589fb Circles and polylines 2025-05-05 02:40:37 -04:00
Levi Lesches
6d3011b706 Fix all server-client issues 2025-05-04 21:14:06 -04:00
Levi Lesches
1c5c6c9f11 Server sends StopState instead of String 2025-05-04 20:20:49 -04:00
Levi Lesches
e8de6475c7
Optimizations (#15)
- Add walking transfers
- Pick route with minimal walking distance, instead of stop count
- Turned `shared` into the new server, client no longer relies on `server`
- Prepare to send full route data (instead of string) to the client
2025-05-04 03:19:06 -04:00
Levi Lesches
d0387c7aa2
Working "find a path" code (#13)
The client first requests stops from the TS server (`0.0.0.0:80`), then the path from the Dart server (`localhost:8001`). It will be trivial to move the TS logic to the Dart server since the Dart server is the one that parsed all that data, and it's anyway in a `JSON` file. 

There is a `server/GET_ROUTES.json` file, but it's not needed. I just included it for easier debugging. `server/GET_STOPS.json` includes both the stops and the routes, and the client does some (inefficient) work to re-organize it.

The Dart server uses a basic A* implementation to sort find direct routes and routes with transfers. The A* logic is in `src/shared/lib/src/graph/graph.dart`. This file defines the state itself, and `package:a_star` on Pub.dev (mine) defines the algorithm. `src/shared/bin/path.dart` is the whole of the Dart server. 

TODO: 
- add unit tests
- this PR breaks almost nothing, so there is duplicate work being done on the client and some unused logic
- return a structured path object for the client to use as it wants. This PR just sends a well-formatted string
2025-05-02 19:55:59 -04:00
Levi Lesches
5e24c8ad30 Made sidebar permanent 2025-05-02 02:55:27 -04:00
Levi Lesches
575c4f9a16
Tabs for different providers and better BC route names (#12)
* Made new Sidebar widget with OCCT

* Separate tabs for providers

* Fixed BC data

* Proper sorting for BC
2025-05-02 02:46:03 -04:00
Levi Lesches
c878d08c23
Move data parsing definitions out of the client (#11)
Makes a new (dart) package called `shared`, which contains: 
- the code needed to parse through OCCT and BC data
- any data definitions for types in that data (eg, stops)
- shared utils

The client will then import types from this package. This PR also re-generates the GET_STOPS json file to include OCCT
2025-05-02 02:10:57 -04:00
Levi Lesches
8fdb25f15e
Allow users to pick stops on the map and sidebar (#10)
- download all stops on startup, sort by route
- refactored lat/long textboxes into custom widget
- added a button to show the stops list
- sidebar to filter which routes can show
- clicking on a stop or the map adds that marker to the start/end
2025-05-02 00:09:00 -04:00
Levi Lesches
cd5491e6ec
Global docker flag (#9)
* Added DISABLE_DOCKER to index.ts

* Added debug mode check to client

* GET_STOPS.json file and server.bat
2025-05-01 21:52:33 -04:00
Steven A Moore
c7922ebef0
Update client_meeting.md 2025-04-28 12:30:21 -04:00
Steven A Moore
abc8f103a7
Create presentation2_review.md 2025-04-28 12:11:52 -04:00
Pagwin
bec21a40b6
sprint 7 2025-04-28 12:02:37 -04:00
Levi Lesches
c39cbab3dd
Bc stops data as JSON (#7)
* Start script to generate BC data

* Finished BC data

* moved file slightly to account for future addition of OCCT and added /stops endpoint to server

---------

Co-authored-by: Pagwin <git@pagwin.xyz>
2025-04-24 16:39:18 -04:00
Steven A Moore
8b58db6c6d
Create presentation1_review.md 2025-04-23 12:35:03 -04:00
Steven Moore
7c32d8a63e updates from prof 2025-04-22 12:04:21 -04:00
Pagwin
191f9d6d91
sprint 6 date written 2025-04-16 13:09:54 -04:00
Steven A Moore
e905f41581
Update client_meeting.md 2025-04-16 12:43:42 -04:00
Levi Lesches
2705953282
Fixed URI issues, test data format, and draw polyline (#6)
* Fixed base API

* Better parsing of the actual server data

* Removed deno.lock from the repo

* Fixed server responses and added usingDocker

* Fix uris with usingDocker

* Fixed polyline logic to show entire route
2025-04-10 00:48:47 -04:00
Pagwin
4edfc98c1d
wrote out sprint 6 2025-04-07 12:09:25 -04:00
Steven Moore
bbf03a4e05 updates from prof 2025-04-07 10:07:26 -04:00
Pagwin
1dd661fa80
updated dockerfile for client so it builds proper 2025-04-02 17:18:42 -04:00
Pagwin
c23f963a28
client env template 2025-04-02 17:16:42 -04:00
Levi Lesches
b3fcb692ad
Add Google Maps to the background (#5)
* Added .env file for Google Map API key

* Added google_maps_flutter

* Added map widget to home page

* Maps is working on first try
2025-04-02 17:14:01 -04:00
Pagwin
174a9665dc
client and server are integrated now 2025-04-02 16:59:07 -04:00
Levi Lesches
dc9a3b0e1d
Function client to send GET /path to server (#4)
* Created default project

* Added client to .vscode/launch.json

* Ignore .vscode/settings.json

* Some data scraping

* Client skeleton

* Client data types and fromJson() functions

* Final touches on JSON

* Added ApiService

* ApiService changes

* Prototype for stops

* ViewModel and UI

* Basic client UI
2025-04-02 15:39:57 -04:00
f18509ff1d
Merge in server with some reverse proxy stuff
server is basically fully implemented
2025-04-02 15:37:36 -04:00
Steven A Moore
ddb86111f0
Update client_meeting.md 2025-04-02 13:17:05 -04:00
Steven A Moore
a3e4a2153e
Update client_meeting.md 2025-04-02 13:05:11 -04:00
Pagwin
f504d96ccc
created sprint 5 2025-04-02 12:13:21 -04:00
Steven Moore
98e1a1a13c updates from prof 2025-03-31 10:35:19 -04:00
Pagwin
69defed537
sprint 4 finalization stuff 2025-03-26 13:25:09 -04:00
Steven A Moore
cf28ad4a4b
Update client_meeting.md 2025-03-26 12:44:55 -04:00
Steven A Moore
731643a3e6
Update client_meeting.md 2025-03-26 12:42:59 -04:00
Levi Lesches
e41e94ed9f
Update api_spec.md - fix typo 2025-03-24 19:52:52 -04:00
Levi Lesches
ba76aa55da
Update api_spec.md 2025-03-24 19:47:42 -04:00
Levi Lesches
5ee9f2621f
Update api_spec.md 2025-03-24 19:47:02 -04:00
Levi Lesches
0261663e52
Update api_spec.md 2025-03-24 19:29:31 -04:00
6d7583ccf9
Merging in changes from server so levi can do client things 2025-03-24 19:26:18 -04:00
Pagwin
f2f8f81244
partial sprint 4 2025-03-24 13:35:54 -04:00
Pagwin
087c02dd98
modified sprint date 2025-03-24 10:54:19 -04:00
Steven A Moore
a0e709ee55
Create client_meeting.md 2025-03-21 12:13:54 -04:00
Pagwin
4f30d7577e
finished sprint 3 writeup 2025-03-17 12:46:49 -04:00
Pagwin
02d727931d
sprint 3 2025-03-17 12:43:25 -04:00
Pagwin
9872740954
sprint 3 spring break fucked up sprint 2 so whatever 2025-03-17 12:15:30 -04:00
Pagwin
9f0f6c609f
updated sprint 1 to TBD will update again on wednesday 2025-03-03 12:51:19 -05:00
Steven A Moore
751e874c7e
Create client_meeting.md 2025-03-03 12:46:34 -05:00
Steven A Moore
2706eba529
Update client_meeting.md 2025-03-03 12:43:18 -05:00
Pagwin
3133c98d83
added sprint number 2025-03-03 12:31:18 -05:00