/Lobby-App

A lobby sign-in application using DocuSign technology

Primary LanguageJavaScript

Installing
==========

Prerequisite Software
---------------------

For Debian Linux-based systems (such as Ubuntu), run this command to
install the prerequisite software (please note that '$' means that it
should be run on the command-line terminal):
$ sudo apt-get install nodejs npm git g++ make ant libsqlite3-dev

Lobby App Installation
----------------------

Let's assume that the app is in a directory called "lobby".

Run these commands to install the app:
$ cd lobby/
$ ant install

Setting up a new provisioning account
-------------------------------------

A DocuSign account is required to store the document that a visitor may need
to sign. This is known as the provisioning account.

To set one up for the app, the owner of the account must set the document
property with the roles as exactly shown:
* Signer

Integrator key
--------------

You may need to set an integrator key in the admin panel (more details in the
"Administrator Access" section). You can always get a key for free here:
http://www.docusign.com/developer-center

The integrator key is required for these functions of the app:
* Signing an NDA.
* Sending a visitor notification email to the host.

The integrator key generated for a DocuSign account can work with a different
provisioning account. This means that you can leave the default provisioning
account (lobby.app@gmail.com) alone when you set in your integrator key into
the app settings.

Installing as a Daemon on Ubuntu
--------------------------------

For Ubuntu Linux systems, you can run this command to install the app as a
daemon. Doing this will make sure that the app is running even after the
entire operating system has been rebooted:
$ sudo ant daemon

Setting the time zone on Debian-based systems
---------------------------------------------

On Debian-based systems (such as Ubuntu Linux), you may have to set the time
zone. Not doing this will make the lobby app display the wrong time on the
visitor history page.
$ sudo dpkg-reconfigure tzdata


Executing the Lobby App
=======================

The app can be executed by using this command:
$ node app

Now point your browser to this address: http://localhost:3000

Using a Different Port Number
-----------------------------

If you would like to use a different port number other than the default
number of 3000, you may do so as follows:
$ PORT=31415 node app

If your desired port number is less than 1024, you will have to prepend the
command with "sudo", like so:
$ sudo PORT=80 node app


Administrator Access
====================

To access the administrator panel for the app, go to this address from your
browser: http://localhost:3000/admin

The default password is "CHANGEME". This password may be changed through the
app interface.


Uninstalling
============

Uninstalling the app can be done by simply deleting the directory that has
the app code:
$ rm -rf lobby/


Testing [optional]
==================

Loading Demo Data for Testing Purposes
--------------------------------------

If you are developing or testing, then you should run this command:
$ ant database-dev

This command will populate the database with test data.

Prerequisites
-------------

Before running tests or getting coverage data, you must install additional
libraries with these commands:
$ sudo npm install -g mocha
$ sudo apt-get install jscoverage

Running Tests
-------------

To run the unit tests for the app, you may run this command:
$ ant test

Getting Coverage Data
---------------------

To get coverage data, you may run this command:
$ ant coverage

Then open this file in your browser: build/coverage.html


Resetting the Administrator Password
====================================

As a last resort, one may reset the Lobby App administrator password by
running the following command:
$ node reset-admin-password.js