cis3296f24 / Section4-ProjectPresentation

cis3296f24-classroom-project-presentation-ProjectsFeedbackBoard-template created by GitHub Classroom
0 stars 0 forks source link

Septa Web Extension #15

Open tjtemple opened 1 month ago

tjtemple commented 1 month ago

Project Abstract

Chromium web extension for additional third-party functionality on or independent of SEPTA’s webpage. The goal is to provide a simple UI where the user can favorite routes and get easy access to information on the regional rail or bus networks without using the phone application. The user may also be able to get reminders of a train or bus they plan on taking, for example a user can get a reminder 20 minutes before a train leaves while working on their computer.

Conceptual Design

Chromium browser extensions use HTML, CSS, and JavaScript for web functionality. These extensions allow the user to save data which will be the main way of saving routes. SEPTA features a free API with up-to-date information on running trains and buses, including Next To Arrive trains and some information on the train and bus systems. These APIs also return current locations, and with potential functionality based on the user’s information, an additional map or location API might come of use.

Proof of Concept

https://github.com/tjtemple/septa-extension
Forked repository readme shows installation instructions. Sample API call is displayed from the pop-up menu which can be accessed from the extension pop up in the upper right hand side of the browser. I did not make any UI yet.

Background

This project is most similar to the ideas featured on SEPTA’s mobile app, especially favorite routes and quick access to said routes. If a user were to attempt to get their train information on SEPTA’s official website, there is no user saved data and multiple menus between the user and train information, as favorite route functionality does not exist on non-mobile devices. On the mobile app, there are also no notifications based on individual routes a user plans on a taking. This project would offer an efficient alternate tool for commuters that use SEPTA’s network.

Required Resources

JavaScript and the extents of Chrome’s extension API are the main obstacle for background information. More research will need to be done on SEPTA’s bus system and a potential map/location API if functionality for those are decided to be added. A way to notify the user will need to be researched as well to send reminders x minutes before a desired train.

Presentation

project proposal (2).pdf

GavinMai-tul33743 commented 1 month ago

This is an amazing project that can help commuters manage their routes. What is especially nice is that this project works on all devices instead of being limited like mobile apps. The notification feature is also interesting. A message can be sent when a bus / train is late, or reminders of arrival times can be very useful, especially if you take the same route every day.

As for what I can contribute, I took the web design course last semester, so I have some experience with that. I know how to do things like making new UIs, accessing databases, and more. One interesting thing may be to see if we can make this project work on Opera Gx. In theory, the code for Chrome extensions and Opera mods should be similar, so if we have time, we can try this. After all, more people are using Opera now.

ahgoldmeer commented 1 month ago

This is a really great idea, with some real practical applications. Seeing this not as a replacement for other Septa services, but an additional tool, is a great way to look at this. I can also see the value in this, as commuters may want to know whats going on with their trains in classes or at work, without having to pull out their phone.

While I am not very experienced in frontend design, especially for web extensions, but I am interested in learning more of those skill. I do have some of the relevant backend experience to be able to help with this project. I am well versed in working with APIs and have database experience, which this project will likely want. I also have experience with JavaScript, which will help. I see that you've mentioned it as a possibility, but I think that adding some amount of map functionality to maybe show where trains are could definitely be useful, at least for the train being viewed.

nicholasrehac commented 1 month ago

I really like this project, and I really understand how useful this can be as someone who used to ride SEPTA pretty often. I remember trying to use SETPA's online tracker, but it just wasn't very usable. Regardless of whether or not I work on this project, I'd likely install it anyway. I'd be really excited to see myself working on an assignment while waiting on a train to arrive without having to worry about missing the train.

It's been a while since I've used the web languages, but I know them well enough and I have some REST API and general UI experience that I can bring to the project. I'd like to look into having an interactive live map on a separate page the user can open that shows the (possibly estimated) location of their ride. We could also look at adding mobile notifications.