Inspiration

As students of Embry-Riddle Aeronautical University, we are very comfortable living next to an airport. Our student body consists of a massive proportion of pilots and our alumni commonly go into the industry. Sometimes they like to surprise the school and fly through Daytona. Often unusual or highly anticipated military planes fly through next to campus all the time. After missing out on all kinds of cool planes that came through unannounced, we decided that we want to try and change that.

As aerospace engineering students, working with software development that isn't focused on math or hardware will be a fairly new experience for both of us. Web development is completely different than anything we have really done before.

What it does

Our project can use user location data (or a desired airport) and will display a map with aircraft in the region. The aircraft can be selected to view further details. If user location is known, the app attempts to display relative angles to aid in spotting the aircraft. This is useful if the plane is further away.

For the convenience of the user, basic weather data is included. We thought this would be desired for users.

How we built it

Our project is built with Python and Flask. We utilize the OpenWeatherMap API along with OpenSky Networks to get real time data. The website uses W3.CSS for easier configuration. Our map is created with Leaflet.js.

Challenges we ran into

The biggest challenge we ran into is the reliability of the OpenSky API. Shortly after we began, it experienced a major outage. We built the app to use this API, but its status is out of our control, so the app displays randomly generated demo aircraft instead.

Another major challenge was the laptop of one of the team members spontaneously bricking itself. Pushes hadn't been made yet and work was lost, and the team took a major hit to moral on top of that.

Accomplishments that we're proud of

We are proud of how much we learned in the span of this project. One of our members began with no experience in Flask and no experience with dynamic web development. We are proud of how our website looks and the amount of functionality we were able to implement.

What we learned

We learned how to use the Flask library to create dynamic websites that use Python wrappers for APIs. We learned the basics of how APIs work and how to interface with them. We learned the basics of how to create dynamic websites with JavaScript and how to use AJAX methods.

What's next for Planespotting Assistant

Further work will likely focus on implementing a way to filter by which aircraft are expected to land, as well as find a way to predict those aircraft. Once landing aircraft are known, adding a way for the user to select which aircraft they find interesting would be a good next step. That could allow us to implement notifications for the user.

A large amount of cosmetic work can also be done. Our layout is fairly clean but it's also very empty. Making graphics and using icons would be a good next step.

Share this project:

Updates