Website for storing flight information, rendering paths on a zoomable world map and calculating statistics, with plenty of free airline, airport and route data.
PHP HTML JavaScript CSS Python Shell Awk
Permalink
Failed to load latest commit information.
apache2 Fix .html rewrites, redirect blog to new domain Feb 11, 2016
badge Render badge with anti-aliased font. Remove extra space between days … Mar 3, 2012
contrib/openflights_to_email Initial commit of a script to read personal flight data from openflig… May 7, 2011
css TripIt: Better handle trips with no flight segments. Jun 20, 2012
data Fix indentation, add --first argument Jan 10, 2017
demo Add samples of new maps Jun 21, 2015
elite Centralize config for bash scripts using Cloud SQL Apr 12, 2016
help Bugfix: Use correct UTF-8 byte order mark in CSV exports Nov 7, 2010
html Switch satellite maps from MapQuest to Mapbox (#576) Jul 28, 2016
img Remove long-obsolete Kayak affiliate link Aug 24, 2015
js Filter out invalid codes Aug 27, 2015
kml * Segments by train, road or sea added (2509953) Mar 26, 2009
locale Replace pointers to SourceForge with GitHub Jun 18, 2015
php Switch to using NULL for missing airport IATA, ICAO codes (#503) Apr 12, 2016
sql Airport updates Jan 5, 2017
test Switch to using NULL for missing airport IATA, ICAO codes (#503) Apr 12, 2016
widget Clone HTTPS urls, not Git Jun 18, 2015
.gitignore Move airport edits to Github issue tracker Jul 20, 2015
CHANGES Replace pointers to SourceForge with GitHub Jun 18, 2015
CHANGES.OLD * OpenFlights Delta released! Jan 6, 2009
INSTALL Update INSTALL Feb 2, 2016
OpenLayers.js Update OpenLayers to 2.11. Fixes Android compatibility. Nov 20, 2011
README.md Update README Jul 1, 2015
about.html Update link to blog Feb 5, 2016
composer.json Load Simpletest with Composer Jul 20, 2015
composer.lock Load Simpletest with Composer Jul 20, 2015
data.html Airport updates Jan 5, 2017
donate.php Show message if user is not logged in Nov 8, 2012
down.php Add site down page Feb 12, 2016
faq.html Replace pointers to SourceForge with GitHub Jun 18, 2015
index.php Fix a bunch of references to donate.html Nov 8, 2012
openflights.css Fix layer switcher CSS Jun 18, 2015
openflights.js Switch satellite maps from MapQuest to Mapbox (#576) Jul 28, 2016
sidebar.html Move blog to its own domain Feb 5, 2016

README.md

OpenFlights

Welcome to the code base for OpenFlights, a tool that lets you map your flights around the world, search and filter them in all sorts of interesting ways, calculate statistics automatically, and share your flights and trips with friends and the entire world (if you wish).

Data

Most people come here for the free airport, airline and route data. See the documentation or plunge straight into the data itself.

User interface

See locale for supported languages and instructions for editing them or adding new ones.

Code

I'll be upfront: this codebase is an unholy mess. The bulk of it was written in 2008, back when PHP seemed like a good idea and the only way to learn JavaScript was the hard way. Any vestiges of sanity you may encounter (eg. unit and integration tests or package management) were grafted on as an incomplete afterthought.

Basically, though, it's your classic LAMP app. JavaScript frontend (mostly in the monolithic openflights.js, some bits under js) talking to an Apache/PHP backend (in php) that wraps around a MySQL database.

Tests

Test coverage is woefully incomplete, but comes in three flavors:

  • client: Client-side full-stack integration tests, require live DB & server
  • server: Server-side (PHP) integration tests, require a live database
  • unit: Client-side JavaScript unit tests

Installation

See INSTALL for system requirements and instructions.