Our group got the idea for this project from the prompts focusing on social benefit. We felt that the environment was an important topic that we could address with a web application. We considered the environmental impacts of transportation, and ultimately decided that we wanted to create a service that makes traveling long distances cheaper and more environmentally friendly.

What it does

Drive, don't Fly presents the user with a UI that gives the option to either be a driver or a rider. Drivers can report their current location and the distance they are willing to travel, and riders can report their start and end locations. Riders will be assigned a driver they are within a short distance of, and are shown a map that displays every stop along the way. These stops are locations where the rider is dropped off by one driver and picked up by another. These locations are determined by the zone that the last driver is willing to drive in, and the overlapping zone of another driver.

How we built it

We started creating Drive, don't Fly by using the ArcGIS map along with widgets: a search widget for drivers, and a directions widget for riders. The frontend is a web application, using html and javascript to import the widgets. In the backend, we use Google Cloud Platform's Cloud Function feature to execute python scripts that handle route creation and writing to the database (mongodb). We store driver names and locations, as well as rider names, locations, and intended destinations in mongodb. Once we calculate areas where drivers can trade off, we search for gas stations within that area and choose one as a stop.

Challenges we ran into

One challenge we had to deal with was understanding how the ArcGIS API works so that we could add custom stops to the route. After solving that problem, we had to deal with allowing writes to mongodb. Another hurdle was drawing custom icons onto the map to indicate stops.

Group accomplishments

We're really excited that we were able to get stop calculations working, as well as storing and getting data from mongodb.

What we learned

This project taught us how to use ArcGIS to create solutions that incorporated map data. We also learned how to use mongodb to store our data. While it isn't in the finished product, we learned how to use Twilio to send SMS alerts as well.

What's next for Drive, don't Fly

Ideally, we want to implement our environmental tracking feature in the UI next. The next step for this project is to refine our proof-of-concept routing algorithms. We also need to scale our project up to support many simultaneous users.

Share this project: