Skip to content
Snippets Groups Projects
ORGANIZATION.md 1.63 KiB
Newer Older
<!-- This Source Code Form is subject to the terms of the Mozilla Public
   - License, v. 2.0. If a copy of the MPL was not distributed with this
   - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->

Several node.js servers are implemented in this repostiory, each is
implemented on top of the [express](http://expressjs.com) framework
and they share the following directory structure:
* `bin/` - Contains the BrowserID servers (browserid,  dbwriter, keysgner, and verifier) and CLI tools.

 * Each node.js application is the "entry point" for that app and is a typical express app.
* `scripts/` - Contains more CLI tools

 * `run_locally.js` - Script to run all the node.js servers server - typically bound
    against a well known localhost port.
* `lib/` - Server side JavaScript modules
* `var/` - A demand created directory with ephemeral files generated
            during the run (keys, logs, etc).
* `resources/`
 * `views/` - Express views (server side), served before `static/` (if present)
 * `static/` - Files served verbatim without any substitution nor server
            side logic in them
  * `include.js` - The JS file included by all RPs.
  * `dialog/` - The meat of the BID dialog, a client side MVC architecture with a state machine
   * `views/` - Client side EJS templates, not executed by ejs.js server side
   * `resources/` - State machine and other logic powering the dialog
  * `pages/` - Client side business logic for dialog
  * `shared/` - JavaScript which is re-used across dialogs
* `tests/` - Tests written using [vows](http://vowsjs.org)
 * Run via `scripts/run_all_tests.sh`