This document describes how to setup a development environment to hack on skies-adsb.
- Introduction
- Table of Contents
- Prerequisites
- Application Architecture
- Tech Stack
- Contributing to skies-adsb
- Development Environment Setup
- HOWTO
- Notes
This guide assumes that you have set up your local environment as described here:
Please follow the steps in the install guide above before continuing.
The primary goal of this project was to create 1980s-style 3D vector graphic visualization of ADS-B data. Think Alien, Escape From New York, Max Headroom, and WarGames.
skies-adsb focuses on simplicity and avoids replicating features of existing plane tracking web apps. Its core principles are:
- minimize complexity
- minimize dependencies
- utilize free and open-source software (FOSS) data, libraries, and tools
- provide equal support for desktop and mobile
- run on any WebGL-capable browser
- Three.js-based 3D visualization of aircraft ADS-B data
- Interactive user controls and UI elements
- Flight status and summary data proxy
- METAR weather proxy
- Generates GeoJSON map layers from Natural Earth, FAA, and OpenStreetMap data
- JavaScript
- HTML5
- CSS
- Python 3
- GeoPandas - Geospatial data handling
- GSAP - Animation
- sphericalmercator - Map projections
- dat.gui - UI controls
- stats.js - Performance monitoring
- Troika Text - Three.js text rendering
If you wish to contribute to skies-adsb please fork the project and submit changes via pull-requests.
- Install and configure VSCode
- Recommended for JavaScript development and Python virtual environments
- Excellent integration with project tooling
- Download from: https://code.visualstudio.com/
-
Follow the Localhost+Headless Setup Guide here: Localhost+Headless Setup Guide
-
Once setup is complete, start the development server:
cd /path/to/skies-adsb
./use_existing_adsb.shThis will launch the application in development mode with live reload enabled.
Start the Vite development server:
npm run devBuild the skies-adsb web app for distribution:
npm run buildStart the Flask app development server
npm run dev-flaskIf you make local changes to the skies-adsb web app and want to deploy them to your Raspberry Pi, follow these steps:
- Build your maps:
cd /path/to/skies-adsb
cd maps
chmod +x build-map-layers.sh
./build-map-layers.sh- Build the web app:
cd /path/to/skies-adsb
npm run build- Deploy the web app:
cd /path/to/skies-adsb
./deploy_web_app.shTo update the Flask app or services on your RPI:
cd /path/to/skies-adsb/raspberrypi
./update_flask_app.shFor information about working with the Flask app please see the Flask app README: