Inspiration
I was watching the news a while ago and a plane had gone missing somewhere over the ocean. According to reports, the GPS on the plane itself had failed. It was at that point where I had the idea of using the hundreds of GPS receivers present on the passengers smartphones to increase the possibility of being found.
What it does
The app runs in the background on the passengers phone. When the app is opened and the distress button is pressed, or if the app detects a large amount of downwards movement it will activate, sending periodic location updates to a server where the data from all phones is averaged and plotted onto a map. Every phone on the plane running the app will also show the Safety Information for the aircraft.
How we built it
The app was built in Android with Java. The back-end was written in the Flask Framework using Python and was hosted on Heroku. Finally, the web front-end was built in HTML, CSS and Javascript using the Google Maps API.
Challenges we ran into
- Flask wouldn't communicate with the Postgres Database on Heroku because of the slight differences in data types.
- Dates are very hard work...
- We had to work out how to get the acceleration in relation to the Earth Axis using a combination of the Accelerometer and Gravity Sensor
Accomplishments that we're proud of
- Getting the Web Interface to display everything on the map
- Getting the Android app to send data efficiently
- Getting the database to respond very quickly
What we learned
- JSON, Flask, Python, RESTful API Requests
What's next for Where are the planes?
- Implementing an SMS based fallback for when there is no data signal
- Improving the UI
- Integrating with existing Airline apps
- Increase Sensor Accuracy
- Improve motion detection algorithm to reduce false positives
Built With
- android
- android-studio
- css
- css3
- database
- databases
- flask
- gps
- gunicorn
- heroku
- html
- html5
- javascript
- jquery
- json
- marshmallow
- mobile
- postgresql
- python
- sqlalchemy
Log in or sign up for Devpost to join the conversation.