Codebase Structure


Structure

The following file tree describes how the project is structure. More details about tooling follows.

trueno
    assets: Project assets such as images and icons.
    conf: Trueno configuration files(sources, settings, hostnames and ports).
    lib: Where all logic resides(sources).
    test: Testing suite directory.
    .gitignore: Git ignore.
    gulpfile.js: Gulp configuration file.
    LICENCE: The project licence.
    package.json: The Node.js modules configuration file.
    README.md: The readme instruction file.

Codebase

The most important directories of the project are conf and lib.

conf
    gremlin-server: The Gremlin Server configuration and binaries for the Trueno backend.
    pm2-gui-custom.ini: The PM2 GUI custom configuration.
    pm2-gui-custom.ini: The PM2 GUI configuration.
    trueno-component-sources.yaml: The components sources(download links and info.
    trueno-config.yaml: Trueno configurations and components settings overwrites.
    trueno-config.yaml: Trueno configurations and components settings overwrites.
    trueno-post-install.yaml: Post component installation sources/commands.

lib
    balancer: Websocket load balancer sources.
    compute: Graph compute layer sources.
    console: Trueno CLI console sources.
    core: Trueno core(central component sticking everything together) sources
    search: Indexing and search layer(elasticsearch) sources.
    ui: Web UI sources.
    trueno-balancer.js: The load balancer entry script.
    trueno-console.js: The console entry script.
    trueno-post-start.js: Trueno's post initialization entry script.
    trueno-setup.js: The setup entry script.
    trueno-start.js: Trueno engine-start entry script.
    trueno-stop.js: Trueno execution halt script.
    trueno-tools.js: Command line tools entry script.
    trueno.js: Trueno main execution script.

Finally, the most complex and important structure to explain may be the core directory:

core
    api: The communication protocol library, all client calls are here.
    binaries: Components binary folder, generated after setup.
    communication: The WebSocket library for clients and internal communication.
    data: The default data directory. Generated at runtime if no data path is provided.
    data_structures: Shared datastructures, ex. Graph, Vertice, and Edge.
    enum: Trueno enumerators.
    initialize: The initialization library, the initial execution flow begins here.
    logging: The logging library.
    status: The metrics analyzer library.

results matching ""

    No results matching ""