diff --git a/docs/ORGANIZATION.md b/docs/ORGANIZATION.md index 86d3f5c77e4fac3d9b56a9967f390989a7cc2ebd..43b457e355f1fa770e13f8abd5a76b27600ed826 100644 --- a/docs/ORGANIZATION.md +++ b/docs/ORGANIZATION.md @@ -4,18 +4,39 @@ Several node.js servers are implemented in this repostiory, each is implemented on top of the [express](http://expressjs.com) framework -and should obey roughly the following directory structure: +and they share the following directory structure: - * `var/` - a demand created directory with ephemeral files generated + * `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). - * `static/` - files served verbatim without any substitution nor server + + * `resources/` + * `views/` - Express views (server side), served before `static/` (if present) + + * `static/` - Files served verbatim without any substitution nor server side logic in them - * `lib/` - javascript modules. - * `views/` - express views, served before `static/` (if present) - * `tests/` - tests written using [vows](http://vowsjs.org) - * `tests/run.js` - a "run all" script to run all tests - * `app.js` application "entry point", exposes a single function `exports.setup` - that takes a handle to an express server as an argument and sets up routes - or associates middleware to it. - * `run.js` - script to run a standalone (production) node.js server - typically bound - against a well known localhost port. + + * `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 runs either client or server side + + * `test` - QUnit tests + + * `tests/` - Tests written using [vows](http://vowsjs.org) + * Run via `scripts/run_all_tests.sh`