This project consists of two parts. The main API and the core website is served using Flask. This part of the system also handles data loading, database manipulation and other common tasks. The map tiles however are served using a separate mapping server written in Go. This server serves as a proxy between the clients and the providers of map tiles and augments the tiles with navigational data such as intersections, airports and various navaids. The data about those elements is also available via the API provided by the first part of the system. Both parts of the system share a common cache mechanism which utlizes Redis, however different caching systems can be used. Multiple database systems are also supported with PostgreSQL used by default.
The website allows the users to view details about the airports, including arrivals, departures, air traffic control and runways. It also provides detailed information about every airplane such as speed, altitude, heading, squawk codes, flight plan, detailed route and other. All information is also dynamically overlayed on the map.