airberlin flight to innovation - Devpost
11 november 2016
Project Description
Providing passenger information about waiting queues at the airport. We're assuming that sensors can help offering this information to the system and that a passenger could benefit from it.
Built with: nodejs, javascript
Testing
Demo Video
Steps for testing:
Open your web browser and open this url: https://mighty-tor-45095.herokuapp.com/
- Scroll down and click "Launch Passenger App" button
- Adjust window size/position so you can see the Home page at the same time
- Scroll to click "Launch Simulator"
- Click "Start Listening to Waiting Line Sensors"
- Charts should be now showing colored arrows
Project Architecture
The project is divided in several components:
- Home Page
- Simulator Page
- Passenger App Page
- Xapix API
The Home Page will be informational about the app.
Simulator Page is used to launch a "daemon" process that fetches information from the Airberlin API provided by https://app.xapix.io/. We'll discuss the API usage in a moment.
This page also for visualizing an airport chart for every stage in the passenger's way to their flight. A chart shows the historic data that sensors are giving and color coded arrows shows the load. From light blue indicating that few people is in waiting lines, to dark blue that indicates heavy loads.
Chart was inspired by existing airport management tools that go from really old tabular format to a more graphic display like the one we're presenting here.
As the sensors can sometimes be difficult to install due to local regulations, a feature that could be added to the "Passenger App" could be interesting to implement: Give the user a prompt to offer him/herself as volunteer to report his location as he moves through the airport using wi-fi beacons or NFC readers. So when the passengers made it to the airplane, he/she could be enjoying a free gift (travel points, a gadget, etc.)
We also use Websockets to send notifications in data changes to connected clients (Passsenger App).
Passenger App Page can be used by passengers willing to obtain information about the waiting line and for the estimated time they'll have to wait.
Xapix API A few resources had been created to support sensor information: "Fake" data along with Web Interface and needed class resources. The system identification is "v2_waiting_lines".
A supported index operation is:
HTTP Method:
GET
https://xap.ix-io.net/api/v1/ab16_logico/test_v2_waiting_lines?fields%5Btest_v2_waiting_lines%5D=n2_arrival_rate%2Cn3_arrival_rate%2Cn4_arrival_rate%2Cn5_arrival_rate%2Cn6_arrival_rate%2Cn7_arrival_rate%2Cn0_service_rate%2Cn1_service_rate%2Cn2_service_rate%2Cn3_service_rate%2Cn4_service_rate%2Cn5_service_rate%2Cn6_service_rate%2Cn7_service_rate%2Crandom_id%2Cn1_arrival_rate%2Cn0_arrival_rate%2Cv_id&sort=v_id&page%5Bnumber%5D=1&page%5Bsize%5D=100
Request Headers:
{
"Accept": "application/json",
"Authorization": "your_api_key"
}
Console Output:
Response Status: 200 OK
{
"test_v2_waiting_lines": [
{
"v_id": "1",
"n0_arrival_rate": "20",
"n1_arrival_rate": "17",
"n2_arrival_rate": "19",
"n3_arrival_rate": "17",
"n4_arrival_rate": "15",
"n5_arrival_rate": "15",
"n6_arrival_rate": "17",
"n7_arrival_rate": "17",
"n0_service_rate": "20",
"n1_service_rate": "22",
"n2_service_rate": "19",
"n3_service_rate": "21",
"n4_service_rate": "22",
"n5_service_rate": "18",
"n6_service_rate": "20",
"n7_service_rate": "18",
"random_id": "68a53f98-1abb-45f9-aa7c-1327ce127dc7"
},
...
]
}

Log in or sign up for Devpost to join the conversation.