Skip to content
An online app to view your X-Plane flight
TypeScript JavaScript HTML CSS Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create FUNDING.yml Sep 8, 2019
.vscode Generated project with Forge/Seed Jun 9, 2019
cypress Add server and tools Aug 3, 2019
docs Fix security warning with gem; add doc about website Sep 24, 2019
frontend Add count of planes Oct 9, 2019
provisioning Filter out inactive planes Oct 9, 2019
server Filter out inactive planes Oct 9, 2019
tools Fix faker Aug 15, 2019
.editorconfig Working full-Typescript dev stack Aug 4, 2019
.gitignore Generated project with Forge/Seed Jun 9, 2019
.seed.json Generated project with Forge/Seed Jun 9, 2019 Fix security warning with gem; add doc about website Sep 24, 2019



Airspaces is a web and desktop companion app to X-Plane, a flight simulator. It provides an online map where you can track your plane flying, along with your friends, or the whole world of X-Plane simmers!

General information


Can I help you?

If you have a bug report, a feature request, or just any question, you can either create an issue or send me an email at .

Helping out

Thanks for your interest! Here are a few ways to help me improve Airspaces:

  • by reporting bugs of feature requests here in the issues of via email - see above
  • by contributing with code, if you are a developer. The technologies involved are Node.JS, ReactJS and Docker. PRs are welcome. See the "Development" section below.
  • if you wish, by donating a small amount of money via Paypal: Donate
  • or if you really are a huge fan, I also have a Patreon page where you can be my patron and sponsor me with a monthly sum.


Unless you are a developer interested in contributing to Airspaces, you probably should have clicked one of the above links.

Airspaces (excluding the desktop app) is composed of a React.JS frontend and a Node.JS backend. Both use Typescript.


  • Node.JS version 10 or above LTS
  • yarn version 1.15 or above.

Getting set up

Here is how to get set up:

  • Clone the repo: git clone

  • Then in a terminal, install frontend dependencies and run the frontend:

cd frontend && yarn && yarn start

In another terminal, do the same for the server.

cd server && yarn && yarn start

The server is now running on port 9000 and will be listening for X-Plane UDP packets on port 49003. The frontend is now running on port 3000 and should have opened a window in your browser.

Optionnally, in a third terminal, you can run a fake plane signal sending its data to your server:

cd server && yarn fake

Build and deploy

You are free to use the Dockerfile to build a Docker image of the server:

docker build -f ./docker/api/Dockerfile . -t foucdeg/airspaces:api

You won't be able to push an image named foucdeg/airspaces:api to Docker Hub, because, well, that's my name. Just use your Docker Hub username instead and you'll have a working Docker image of Airspaces with your changes!


This repository also includes the source code for the main website, It is a Github Pages website, Github automatically builds it.

I run it locally using the following command:

docker run \
  -t --rm \
  -v "$PWD":/usr/src/app \
  -p "4000:4000" starefossen/github-pages

$JEKYLL_GITHUB_TOKEN is a Github access token to allow the local container to fetch the data from Github that builds the website.

You can’t perform that action at this time.