BinghamtonBetterBus-v2/sprints/sprint0/sprint0.md
2025-02-21 12:52:27 -05:00

71 lines
2 KiB
Markdown

# **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