Inspiration
We realised that people got bored when queuing in airports. To solve this, we believe that a game like this could make the waiting time more entertaining while also bringing the people together.
What it does
It searches for real-time information of a random en-route flight and makes the people guess where it is right now on a map based on its schedule, start point and end point.
Each user is then graded depending on the accuracy of the guess. The points given to each one is added up in a gate total score. The competition is then set between gates of the airport, which turns this game into a social and fun one.
How we built it
This game is full-stack JS. We have JavaScript everywhere, seriously. We still don't know how we feel about it.
For ease of development, we chose to use the services offered by netlify. This means that our front-end is a statically built single-page app. We decided to go with React as a framework because of the flexibility it brings us when building user interfaces. To simplify the UI design, we went with the Material-UI toolkit.
Our backend consists in a netlify function (a wrapped AWS lambda) that gets called periodically by a cron service. To communicate with the clients in real time, we store all the game's data in Firebase's Realtime Database, and keep a local synced copy in all the user's devices.
Challenges we ran into
The not always reliable information given by the different APIs has led to some problems, hence (in part) the name of the game.
Also, we use the firebase realtime database to sync real-time data between devices, and seems use the gRPC library, which is compiled in binary format for each architecture. Our serverless functions provider, netlify (which uses AWS internally), wasn't able to get hold of those binaries, and the backend drove us nuts for quite a good time. At the end, it turned out we just had to change how we imported the library.
tl; dr: RTFM.
Accomplishments that we're proud of
We are proud of having connected all the devices and users in real time to play a game. We also are proud of each other, and the advances we made the last 2 days.
What we learned
We have learned to use React and javascript. We halso have discovered lots of APIs to get flight data, some paid, some free, and some with hidden free tiers!
What's next for Where is my API?
Better filtering of the planes, in order to always get the ones that are actually flying and giving better feedback to the players, such as a map with the actual position of the plane and the player input.
Built With
- aviation-edge
- firebase
- javascript
- leaflet.js
- netlify
- node.js
- react
- skyscanner
Log in or sign up for Devpost to join the conversation.