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).
Most people come here for the free airport, airline and route data. See the documentation or plunge straight into the data itself.
See locale
for supported languages and instructions for editing them or adding new ones.
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.
Test coverage is woefully incomplete, but comes in three flavors:
client
: Client-side full-stack integration tests, require live DB & serverserver
: Server-side (PHP) integration tests, require a live databaseunit
: Client-side JavaScript unit tests
See INSTALL for system requirements and instructions.