Server code file structure

The main code is located in github repository NetworkCurator. This section outlines the structure of the root directory.

Directories

DirectoryDescription
nc-api Implements an [application programming interface](api.html) that provides access to the MySQL database.
nc-admin Holds files and scripts relevant for server-side administration, e.g. installation. Post installation, the directory holds site configuration definitions that are used throughout the server-side code base.
nc-data Holds user-generated files from a local site. The directory is divided into subdirectories for `networks` and `users`. The first stores network-specific data files such as uploaded json network definitions. The latter stores user-specific data such as identicon images.
nc-core Holds code for the core web application, including cascading style sheets, javascript functions, helper php scripts, and dependencies.
nc-ui1 Holds files implementing a user interface theme.

1 The nc-ui is not present in the core repository. It must be created manually, for example by cloning the default interface.

Files

FileDescription
.gitignore Standard git configuration file that determines settings for version control. In the NetworkCurator, this file is set so that repository clones can create private files (e.g. containing urls and passwords for a local installation) while maintaing an unbroken connection with the parent repo.
index.php Landing page for the web site. This file performs basic processing for page requests, but refers to scripts in the 'nc-ui' folder to actually generate content.
pull-update Bash script that performs git clone-based software updates. Beside pulling the core software and the default user interface, it builds css and js files.
README.md Intro page for the github repo. It does not affect funcioning of the web application.
LICENSE The NetworkCurator code is licensed under the MIT License. Note that some third-party software use a different license. See nc-core/includes for details.