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).
* `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
* `test/` - QUnit tests
* `tests/` - Tests written using [vows](http://vowsjs.org)
* Run via `scripts/run_all_tests.sh`