71 lines
2 KiB
Markdown
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
|