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

https://youtu.be/8J73-rFe_TQ

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"
    },
...
  ]
}

Built With

Share this project:
×

Updates