# **Project Overview** ## **Application Vision/Goal:** The two main public transit providers for Binghamton University students are OCCT and BC buses. Each provider has their own routes, schedules, and quirks, making the simple question “how do I get there” surprisingly difficult to answer, especially in a timely manner. This project will pull data from both services to get people to their destinations. Users will be able to input a start and end location and the app will respond with a route using either, both or neither bus providers to get there. ## **Scope:** Allow viewing bus routes and pick start and end point and get bus route between them. ## **Deliverables:** Google maps which you can click on 2 points to get route between them and get a visual of the bus routes for current time. ## **Success Criteria:** Making something which is more functional than [Spencer's HackBU 2024 project](https://git.pagwin.xyz/Pagwin/BinghamonBetterBus), ([Video demo](https://youtu.be/5WcKPhMqveY)) hackBU project doesn't handle Broome county buses due to a bug and suggests comically bad bus routes. ## **Assumptions:** - etaSPOT data is reasonably accurate - Broome county GTFS data is reasonably accurate - Google maps will continue to exist and allow for drawing of path on map ## **Risks:** - if we want/need static OCCT data that will involve manual work - potential combinatorial explosion causing calculation to take too long ## **Design / Architectural Review:** Client server split maybe database ## **Test Environment:** Unit tests for the backend. --- # **Team Setup** ## **Team Members:** - Spencer Powell - Levi Lesches ## **Team Roles:** - Spencer: server - Levi: client ## **Team Norms:** - handle CI for their side of the app ## **Application Stack:** - Caddy for reverse proxy - Flutter for client - Google Maps API for visual - Nodejs + Typescript for backend - sqlite for db ### **Libraries/Frameworks:** - JSON for api - etaSpot for dynamic OCCT info - maybe scraping for static OCCT info - GTFS data for static BC info