{"id":28483139,"url":"https://github.com/speechanddebate/tabroom","last_synced_at":"2025-07-05T07:06:27.057Z","repository":{"id":59700669,"uuid":"60437558","full_name":"speechanddebate/tabroom","owner":"speechanddebate","description":"Tabroom.com Legacy Perl/Mason Code","archived":false,"fork":false,"pushed_at":"2025-06-25T18:30:41.000Z","size":119461,"stargazers_count":21,"open_issues_count":8,"forks_count":10,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-06-28T23:43:01.291Z","etag":null,"topics":["debate","forensics","mocktrial","speech","tabulation","web"],"latest_commit_sha":null,"homepage":"https://www.tabroom.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/speechanddebate.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-06-05T01:18:37.000Z","updated_at":"2025-06-25T18:30:45.000Z","dependencies_parsed_at":"2023-10-01T23:31:11.419Z","dependency_job_id":"c8483282-42d9-4385-aea6-b4f330bc00c5","html_url":"https://github.com/speechanddebate/tabroom","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/speechanddebate/tabroom","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speechanddebate%2Ftabroom","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speechanddebate%2Ftabroom/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speechanddebate%2Ftabroom/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speechanddebate%2Ftabroom/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/speechanddebate","download_url":"https://codeload.github.com/speechanddebate/tabroom/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/speechanddebate%2Ftabroom/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263699781,"owners_count":23497963,"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":["debate","forensics","mocktrial","speech","tabulation","web"],"created_at":"2025-06-07T21:07:23.013Z","updated_at":"2025-07-05T07:06:27.034Z","avatar_url":"https://github.com/speechanddebate.png","language":"JavaScript","readme":"\n\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n\n\tCopyright (C) 2004-2023 National Forensics League,\n\td.b.a. National Speech and Debate Association\n\t\t6600 Westown Parkway Suite 270\n\t\tWest Des Moines, IA 50266\n\t\tinfo@speechanddebate.org\n\n\tThe Tabroom system began as two projects; the CAT (Computer Assisted Tab)\n\tby Jon Bruschke, professor at Cal State Fullerton, and Tabroom.com by Chris\n\tPalmer, a then part-time high school coach in Massachusetts.\n\n\tMany new debate tabulation features, including the integrated debate\n\ttabulation system, were supported by a grant from the Open Society\n\tFoundations. It contains source code and other contributions by Chris\n\tPalmer, Jon Bruschke, Aaron Hardy, Michael Stroud, Gary Larson, Sam Rouse,\n\tPeter Dong, and Cal Ellowitz.\n\n\tIt is now an ongoing supported project of the National Speech and Debate\n\tAssociation, https://www.speechanddebate.org.\n\n\tYou can redistribute it and/or modify it under either the terms of the RPL\n\t1.5, available at https://opensource.org/licenses/RPL-1.5 or in the COPYING\n\tfile at the root of this project\n\n-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n\n## Where did everything else go!?\n\n\tAs part of an ongoing effort to port Tabroom code from the ancient\n\tPerl/Mason-1 stack it's merrily chugged along on for years, I've split the\n\trepositories into its constituent parts.  This repo remains the home of the\n\tlegacy Perl code.\n\n### TABROOM MASON DOCKER\n\n\tTabroom production is being containerized to run on our new cloud services\n\tin a more responsive and cost-effective way.  As part of the process,\n\tstandard Docker container definitions have been created because recent\n\tupdates to Perl libraries broke some features with particular versions.\n\n\tTrust me, I was as surprised as you that someone's out there applying\n\tupdates to mod_perl2 and JSON.pm, but here we are.\n\n\tThe current staging \u0026 production architecture of Tabroom creates a docker\n\timage solely with apache, mod_perl, mason,  and other ancillary libraries\n\tto run the code, while the codebase itself lives on the host machine with\n\tconfiguration hooked in via mounts in docker-compose.yml.  It requires an\n\tactive /www/tabroom repo of the code on the local machine and\n\tconfigurations to live in /etc/tabroom and /etc/apache2.  The docker image\n\ttherefore only contains dependencies and should not change often. To\n\tprevent github from rebuilding the docker image every time I check in a\n\tchange to the tabroom source code, the docker definitions are now in their\n\town repo at\n\n\thttps://github.com/speechanddebate/mason-docker\n\n### INDEXCARDS API\n\n\tThe NodeJS Express API that serves as the data backend for the new client\n\t(and a growing number of legacy tabroom frontend functions) has been dubbed\n\tIndexcards. That code now is stored in a separate repo at\n\n\thttps://github.com/speechanddebate/indexcards\n\n### SCHEMATS FRONTEND\n\n\tThe frontend client of the rewritten code is not yet anywhere in\n\tproduction, but work is proceeding on it after deciding at long last my\n\tbrain simply does not like to speak React that much and switching to\n\tSvelteJS. The frontend naturally is now dubbed \"schemats\" and its code\n\tlives in\n\n\thttps://github.com/speechanddebate/schemats\n\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeechanddebate%2Ftabroom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspeechanddebate%2Ftabroom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspeechanddebate%2Ftabroom/lists"}