Every year, one of our teammates goes on a long road trip in their electric car. However, planning this road trip is a hassle, as electric charge stations are not as common as gas stations, and the car needs to be recharged once it runs out of charge. To make this kind of road trip planning for electric cars possible was the inspiration for this app.

What it does

The user inputs their starting point, their destination, and their car's range. The app, based on this data, then computes a short route through which to get to your destination without running out of charge. The route goes through a series of charging stations within the car's range to get to the destination.

How we built it

This application was extremely difficult to create. First we needed an algorithm that finds all the charge stations to go through. We first began to speculate that we could use Dijkstra's algorithm, and then decided on a modified version of the A star algorithm. This algorithm took too much time to run, so we had to conceptualize a totally new algorithm, similar to Greedy-Best-First-Search, but which first goes through and calculates routes between charging stations closer and then farther. This, combined with the materialistic, user-friendly UI, makes for a reliable app which is ready to be used in the real world!

Challenges we ran into

Creating the algorithm that finds the routes and charging stations was difficult. Also, a lot of work had to be done in setting up the Charge Point API's and parsing JSON web requests. Implementing the application in android studio was difficult as well. We spent three hours searching for a mischievous bug. It turned out to be that the Maps API had a quota of usage each day and we had reached that quota. We needed to pay to keep using it. So we switched to parsing JSON web maps, and tried to get as much done as we could without the Maps API. If we were to pay to increase our quota per day, true guidance would be available. However, application is still a working application as it shows all the charging stations the user needs to visit (more detail in video).

Accomplishments that we are proud of

We are proud to have gotten the algorithm working and get the app to display the route. The UI came out well too. In the end, all the API's and libraries were set up correctly, which in itself is an accomplishment. In addition we learned how to successfully parse and download XML and JSON files.

What we are learned

We learnt how different aspects of the program needs to work together cohesively in order for the application to work well. We learnt a lot about graph theory, and also how to use several google API's like directions API, maps API and more.

What's next for EVMap

Our application's algorithm could be further optimized as it is still a bit slow. The UI also could be improved and it could be more materialistic. After this, the next step would be turn by turn guidance for the user. We would also like to upgrade our Google Maps quota so we don't run into errors that we ran into this night.

Extra Information and category

Our project will go under beginner hacks and is a traffic hack. Our video is a public google drive link, so devpost won't let us upload it as a video, so we made a public link and put it in the "try it out" section.

Share this project: