Basic student help queue server in Node.js
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
Michael Bryant 9d7320f853 Moved db depends to peerDependencies per issue #29 4 years ago
public Fixed Student/Teacher buttons on queue home page 4 years ago
server Added boolean flag to ErrorPage that determines whether to redirect the user back or not. Enabled for failed login, disabled for failed setup. 4 years ago
.gitignore Removed "Test" buttons and related JS 5 years ago
LICENSE Initial commit 5 years ago Create 4 years ago
app.js Included error message for failing to load the queues 4 years ago
package.json Moved db depends to peerDependencies per issue #29 4 years ago


Application for teachers so students can add themselves to a "help" queue

More specifically, this is a webserver with a Node.js backend that uses express.js and to provide students with forms to submit requests for help that the teacher or an aide can help with. The requests appear on a password-protected teacher page in real time, preventing the need for refreshing. Requests are added to all instances of the teacher page and fulfilled requests are removed from all instances as well. This server supports having multiple help queues, for instance one for each room to be used in.

This program is in functional beta, with more features to be added before I will consider this a full "stable" release.

How to use

Use in your own server is easy, simply create an app.js file with the following content:

var Queue = require("student-queue");

var queue = new Queue({
    host: "",      // The host of the database. Use or localhost for the same machine
    database: "mydb",       // The (by default) MySQL database to use for the program
    user: "myuser",         // The database user with access to the above database
    password: "P@SSW0RD",   // The database user's password
    port: 3000              // The port for the server to be accessed on. 3000 is default


The program currently expects to be run from the root of a domain or subdomain. So and are valid, but is not. Keep that in mind when setting it up. There are no promises for this to change in the future.

Site administration can be found at /admin, as in The default password is password You must change this yourself before putting it into production.

Queue names must contain only alphanumeric characters: A-Z and 0-9. If there is a queue called library, its homepage can be found at /library, the student page at /library/student, and the teacher page at /library/teacher.

Planned features can be found in the Issues tab on the GitHub page by filtering for the "enhancement" label