{"id":23406250,"url":"https://github.com/zozs/labqueue","last_synced_at":"2025-04-11T21:50:58.373Z","repository":{"id":26297516,"uuid":"29745358","full_name":"zozs/labqueue","owner":"zozs","description":"Maintains a list of students that needs help in lab sessions.","archived":false,"fork":false,"pushed_at":"2021-12-07T18:52:00.000Z","size":803,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-25T17:49:29.348Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zozs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-01-23T17:59:01.000Z","updated_at":"2024-12-13T13:56:54.000Z","dependencies_parsed_at":"2022-07-24T10:31:56.451Z","dependency_job_id":null,"html_url":"https://github.com/zozs/labqueue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zozs%2Flabqueue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zozs%2Flabqueue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zozs%2Flabqueue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zozs%2Flabqueue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zozs","download_url":"https://codeload.github.com/zozs/labqueue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248487733,"owners_count":21112188,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-22T13:33:02.096Z","updated_at":"2025-04-11T21:50:58.341Z","avatar_url":"https://github.com/zozs.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# labqueue\nMaintains a list of students that needs help in lab or exercise sessions.\n\n## License\nLabqueue is made available under the ISC license. See the file LICENSE, or the license text below.\n\n```\nCopyright (c) 2015, Linus Karlsson\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n```\n\nThe haxxor theme is inspired by the [BOOTSTRA.386 theme](https://github.com/kristopolous/BOOTSTRA.386/).\n\n## Configuration\nThe configuration files are formatted in JSON. A good starting point is the file `config/default.json`. Labqueue uses `node-config` to manage its configuration files, so be sure to utilise its features when deploying the application. Of particular interest may be the possibility for different configuration files per host and per environment. See https://github.com/lorenwest/node-config/wiki/Configuration-Files for examples.\n\n#### Configuration directives\nThe following configuration directives exist:\n\n###### databaseFile\nA string with the filename of the SQLite database in which the queue is stored. Example: `\"queue.sqlite\"`\n\n###### port\nAn integer telling the server which port to listen to. Example: `80`\n\n###### listenAddress\nThe address the server should be listening to. Example: `\"0.0.0.0\"`, which will listen to all IPv4 addresses on the server.\n\n###### admins\nA list of IP-addresses allowed to remove and undo removal of students from the queue. However, a student can always delete his or her own help request. Example: `[\"192.0.2.1\", \"192.0.2.2\"]`\n\n###### ip_subject\nAn object containing mappings between IP-address and human readable names. If a mapping does not exist, the IP-address will be shown instead. Example: `{\"192.0.2.1\": \"PTR-1\", \"192.0.2.2\": \"PTR-2\", \"192.0.2.3\": \"PTR-3\"}`\n\n###### synchronousDb\nWhether SQLite should wait for writes to sync to disk or not. When set to `false`, the command `PRAGMA synchronous = OFF;` will be sent to SQLite, thus disabling synchronous writes. Setting this to `false` may lead to a corrupt database in case of power-loss during a transaction, but may be required to achieve acceptable performance when the disk is slow (e.g. an SD-card). Example: `true`\n\n###### whitelist\nA whitelist of IP-addresses allowed to send help requests to this host. If the list is empty (the default setting), requests are allowed from any host. Everyone can always view the queue. Note that if this object is non-empty, an administrator listed in `admins` must also be listed here to get any access. Example: `[\"192.0.2.1\", \"192.0.2.2\", \"192.0.2.3\"]`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzozs%2Flabqueue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzozs%2Flabqueue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzozs%2Flabqueue/lists"}