Directory Layout

Table of contents


Project root directory layout

The project root contains the following files and directories:

The source/ directory

The source/ directory contains the following directories:

The source/app/ directory

The source/app/ directory contains the following directories:

The source/app/common/ directory

This directory contains the source code for the common infrastructure and utilities. It contains the following files and directories:

The source/app/<appId>/ directory

The unique part of each app is in a directory under source/app/<appId>. Typically, the appId is the first word in the full app name. For example, 'C182' for the 'C182 Performance' app. This directory typically contains the following files and directories.

The app's .htaccess file is not here but in source/service/<appId>/.

The source/app/Testapp/ directory

The Testapp has the same layout as an aircraft app without the icons and service worker. Under buildStamp/ it has:

The source/airportData/ directory

This directory contains the inputs and outputs of make db. See Building the airport database.

The source/image/ directory

This directory contains the source files used to create images associated with each app. Each app has a separate directory named by the appId containing source files such as:

The common/ directory holds the sources shared by all apps.

The source/service/ directory

This directory contains the server-side PHP files that implement each app's API. It contains a common/ directory with the service files, which are the same for all apps, and a directory for each app named by the appId that holds the app's .htaccess file. The .htaccess file rewrites the app's API requests to the common files and sets the POH_APP environment variable to the app's appId. The web build copies .htaccess to the app's root and the PHP files to its service/ directory.

The directory also holds the files make serve uses to run the services locally: localRouter.php, a PHP router that does what .htaccess does on the production server, localBsConfig.js, the browser-sync configuration, and localIndexTemplate.html, the template for the development server's index page.

The source/cdv/ directory

This directory contains the files needed to build Cordova native apps. Each app has a directory named by its appId that contains a Cordova config.xml, a res/ directory of native app image resources, and the logo image for the splash screens. The native apps themselves are built in the private release repository. See Native apps.

The build/ directory

The build directory contains the results of the build process. It contains the following directories:

The doc/ directory

This directory contains all the project documentation as Markdown files. make doc converts them to HTML in build/doc/. See Building the documentation.