Many of our group members are working towards attaining their diver's license or already have. The Virginia DMV requires learners to certify that they have driven for at least 45 hours, 15 of which occur after sunset. However, it can be difficult to remember to log all of your hours, including the date and the duration of the drive. That's where PathProtector comes in.

What it does

With PathProtector, you no longer have to remember when you started driving or which of your hours are after sunset. Tracking GPS movements, our app automatically tracks the duration of your drive, the date, the start and end time, and whether the drive was during the day or the night. Additionally, the app will detect when you are in a car, and it will ask if you were the one driving after the drive is finished. With PathProtector, you can easily see your total time and your day and night hours without having to manually start or track any hours.

How we built it

For the backend development, we used Java in Android Studio to code a completely native program to periodically pull GPS data from a phone, which is then assessed to determine driving movement. To access the user speed, we referenced the code found in this article link For the frontend development, we used XML and Android Studio to design and develop a UI interface with a profile, log statistic, and home pages.

Challenges we ran into

Just setting up Android Studio had its own set of problems from configuring a virtual android phone emulator to learning how gradle works. Using gradle, we had trouble setting up build tool chains using a native app. While using the GPS, we had difficulties ensuring that the OS wouldn't be closed once the app was in the background while determining the best timing to figure out when to pull GPS information.

Accomplishments that we're proud of

Rather than using a cross platform framework as a wrapper for a web app, we chose to create a fully native Android app to optimize the user experience.

What we learned

Every tool has its unique challenges and drawbacks. Initially, we tried using HTML frameworks like Ionic and Angular, but we found that it didn't allow for enough customizability for our means. Instead, learning Android Studio allowed us to implement better features in lieu of a hard learning curve.

What's next for PathProtector

We want to integrate our project with online maps, so we can assess the accuracy of student drivers. We can track whether or not a driver stops at a stop sign or performs an illegal turn, and give the student a score based on their driving skills.

Share this project: