/faa-scds-feeds-gui

a GUI that displays real-time FAA SCDS data feeds along with some associated statistics and data products

Primary LanguageSvelte

License: MIT Build and Deploy

FAA SCDS Feeds GUI

A browser application that implements a geo-filtering algorithm to dynamically generate topic subscriptions that attract pre-filtered sets of streaming GPS data from SCDS feeds.

This GUI displays data produced by SWIM Feed Handler, an application designed to relay messages from the FAA's publicly available US System Wide Information Management (SWIM) data feeds to a Solace PubSub+ Event Broker. The SWIM Feed Handler GitHub repository includes a thorough overview of the steps required to sign up with the FAA to receive SCDS data and to run the application locally.

Public URL

https://solacese.github.io/faa-scds-feeds-gui/

Branch structure

  • master: source code for the site hosted at the above public URL
  • kdb-stats: includes a panel to display stats produced by an accompanying project, scds-solace-kdb

Run locally

First, clone the repository and install the dependencies.

git clone https://github.com/solacese/faa-scds-feeds-gui.git
cd faa-scds-feeds-gui
npm i

Then, edit solace.config.js and google-maps.config.js. The Google Maps API key included in this repository is restricted to this application's public URL, so you'll need your own if you want to develop locally. You can do this by following along Google's instructions for getting a Maps JavaScript API key.

Once the connection details and access key are configured, you can run the app using Rollup:

npm run dev

If you navigate to localhost:5000 you should see the app running.

The src directory is being watched, so if you save a file and reload your browser you will see the changes.

Note: there's a small bug with sirv's dev server restarts, and sometimes the console will show that the app is being served to localhost:5001 while it is bundling. It will switch to localhost:5000 when it finishes bundling or sometimes on reload, so be a little patient and it should be fine. The visual glitch didn't affect my development experience at all, but if your app isn't being served successfully on localhost:5000, please add an issue to this repository.

By default, the server will only respond to requests from localhost. To allow connections from other computers, edit the sirv commands in package.json to include the option --host 0.0.0.0.

Build and deploy

The build command is...

npm run build

...and the publish directory is public.

You can run the newly built app with npm run start. This uses sirv, which is included in your package.json's dependencies.

Resources