Foundation Halloween Open House Queue
A queueing system that notifies groups through text using Nexmo. Built using Node.js, Durandal.js, and MongoDB
Installation
- Be sure to have node, npm, and mongoDb installed on your machine
- In the root directory of the project, run
npm install
- To start the server, run
node app.js
Implementing Texting
The project is setup to use Nexmo as the texting service. To use it, you will need to add your account information to the initialize function in queue.js. Nexmo is not free so if you find a different service to use, it should be easy to swap services in queue.js;
Hosting
I have used RedHat OpenShift to host the app in the past. The free tier was good enough for our purposes.
Users
accounts.json contains the user accounts and passwords that are initially setup for the system. Feel free to change them to whatever you want. This is by no means secure authentication.
There are only 3 permissions groups which change which parts of the site you can use. They are:
- admin
- upstairs
- downstairs
Anyone can view the page that we used to show the groups on the tv, which is found at /#display
Admin users can access all features of the site including the restore page which helps you reset to a previous state of the queue.
Upstairs users have the ability to add groups to the queue, shift groups in the queue, edit or remove groups, and send chat messages.
Downstairs users can send chat messages, see the queue, and change the status icon to tell the upstairs whether to send the next group or to stop sending groups because of a problem