The project root contains the following files and directories:
build/ directory.doc/node_modules/npm.scripts/source/source/ directoryapp.mk<appName>.mk...MakefileTestApp.mkpackage.jsonnpm package file. This mostly contains the dependency list for the build process.source/ directoryThe source/ directory contains the following files and directories:
server?source/app/ directoryThe source/app/ directory contains the following directories:
source/app/<appId>/source/app/common/source/app/Testapp/source/app/common/ directoryThis directory contains the source code for the common infrastructure and utilities. It contains the following files and directories:
source/app/common/aero/
Common files related to aeronautical functions.
source/app/common/mvcs/
The MVCS infrastructure code.
source/app/common/option/
Optional modules. These must be explicitly imported as required. These include
ctxDraw.jsspeech.jsspeech Reference.units.jsunitTest.jsunitTest Reference.source/app/common/page/
App pages that are independent of the specific app or aircraft type. These are:
source/app/common/script/ directory
This directory contains files that will be included in the app as scripts instead of modules. The directory includes a source/app/common/script/lib directory containg external libraries to be included as scripts. Currently, this includes:
The directory also includes a polyfill.js that contains general polyfills for advanced JavaScript features that may be more recent than the Technology use.
source/app/<appId>/ directoryThe 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.
buildStamp/buildStamp because this name is typically replaced with a build-specific timestamp or hash to ensure that all the contained files and directories fetched by the client will be the versions for this build. See The Service Worker and caching. The directory typically contains the following:buildStamp/internalData/buildStamp/image/buildStamp/modelData/typeData.js that contains type-wide data.buildStamp/page/buildStamp/app.jsbuildStamp/manifest.jsonbuildStamp/svFormat.jsinfo object for state variables formats that are widely-used in the app..htaccess.htaccess file to be placed in the application root on the server. Typically this redirects API access to the service sub-directory.externalDatabuildStamp, the contents will be shared among all currently active app versions. Any data placed here must be backward compatible or have its own versioning convention. The current contents are:externalData/airportData.jsonexternalData/airportDataTimestamp.jsonairportData.json. The app fetches this file when the app is started or resumed after a long period of inactivity. If the timestamp is newer than the most recent update or built-in database, then the large airportData.json is fetched and the database is updated.eslint.config.mjseslint configuration file for this app's code.index.htmlindex.html file for this app.serviceWorker.jssource/app/Testapp/ directorysource/airportData/ directoryThis directory contains
source/image directoryThis directory contains the source files used to create images associated with each app. Eacj app has a separate directory named by the appId containing source files such as:
source/service directoryThis directory contains server-side files to implement each app's API. It contains a common/ directory containing the service files common to all apps. The directory also contains a directory for each app named by the appId containing any files unique to the app.
Currently, all the PHP service files are common to all apps. Each app has a unique .htaccess file that directs requests to the common files a sets the POH_APP environment variable with the app's appId.
source/cdv directoryThis 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 and a res/ directory containing native app image resources.
build/ directoryThe build directory contains the results of the build process. It contains the following directories:
build/cdv/appId.build/doc/doc/ directory.build/linteslint results for each JavaScript source file. This allows the build process to detect which files need to be linted without linting all files.build/web/appId.doc/ directoryThis directory contains all the project documentation. For the most part, this conssits of Markdown files, but it make include other formats, including video.