speechanddebate/tabroom

GitHub: speechanddebate/tabroom

演讲辩论赛事管理系统的遗留 Perl/Mason 代码库,正逐步迁移至 Node/Svelte 技术栈。

Stars: 22 | Forks: 11

# 欢迎 这是 Tabroom 的旧版代码库。其中包含用 Perl/Mason 编写的代码,这是 Tabroom 目前的运行技术,但正逐步被其他仓库中开发的 Node/Svelte 技术栈所取代。 Tabroom 的支持主要通过电子邮件 help@tabroom.com 进行。我确实会在这里查看 issues 和 pull requests,但并不是非常活跃;因为工作太多而人手太少。 在我们要尽可能管理的范围内,此代码库处于**功能冻结 (FEATURE FROZEN)** 状态。除了少量的临时需求、bug 修复和维护工作外,我们的目标是让新系统成为主要新功能的中心。 ## 其他东西都去哪了!? 作为将 Tabroom 代码从其多年来赖以运行的古老 Perl/Mason-1 技术栈迁移出的持续努力的一部分,我已将仓库拆分为其组成部分。此仓库仍然是旧版 Perl 代码的所在地。 ### TABROOM MASON DOCKER Tabroom 生产环境正在容器化,以便以更具响应性和成本效益的方式在我们的新云服务上运行。作为该过程的一部分,我们创建了标准的 Docker 容器定义,因为 Perl 库的最近更新破坏了特定版本的某些功能。 相信我,我和你一样惊讶,竟然有人在那里更新 mod_perl2 和 JSON.pm,但事实就是如此。 当前 Tabroom 的暂存和生产架构创建了一个仅包含 apache、mod_perl、mason 和其他辅助库的 docker 镜像来运行代码,而代码库本身位于主机上,配置通过 docker-compose.yml 中的挂载连接。它需要本地机器上有一个活动的 `/www/tabroom` 代码仓库,并且配置文件位于 `/etc/tabroom` 和 `/etc/apache2`。因此,docker 镜像仅包含依赖项,不应经常更改。为了防止 github 在我每次提交 tabroom 源代码更改时重新构建 docker 镜像,docker 定义现在位于其独立的仓库中,地址为 https://github.com/speechanddebate/mason-docker ### INDEXCARDS API 作为新客户端(以及越来越多的旧版 tabroom 前端功能)数据后端的 NodeJS Express API 已被命名为 Indexcards。该代码现在存储在一个单独的仓库中,地址为 https://github.com/speechanddebate/indexcards ### SCHEMATS 前端 重写代码的前端客户端尚未投入生产,但在经过长时间考量后,我决定我的大脑实在是不太喜欢讲 React,因此转而使用 SvelteJS/SvelteKit,相关工作正在进行中。该前端自然地被命名为 "schemats",其代码位于 https://github.com/speechanddebate/schemats ### 版权与历史 版权所有 (C) 2004-2023 National Forensics League, d.b.a. National Speech and Debate Association 6600 Westown Parkway Suite 270 West Des Moines, IA 50266 info@speechanddebate.org Tabroom 系统始于两个项目:由加州州立大学富勒顿分校教授 Jon Bruschke 开发的 CAT (Computer Assisted Tab),以及由当时马萨诸塞州的高中教练 Chris Palmer 开发的 Tabroom.com。 许多新的辩论统计功能,包括集成辩论统计系统,都是由 Open Society Foundations 的资助支持的。其中包含 Chris Palmer、Jon Bruschke、Aaron Hardy、Michael Stroud、Gary Larson、Sam Rouse、Peter Dong 和 Cal Ellowitz 的源代码和其他贡献。 它现在是 National Speech and Debate Association 的一个持续支持项目,https://www.speechanddebate.org。 您可以根据 RPL 1.5 的条款重新分发和/或修改它,该条款可在 https://opensource.org/licenses/RPL-1.5 或本项目根目录下的 COPYING 文件中找到
标签:Apache, DNS解析, Docker, Feature Freeze, GNU通用公共许可证, Homebrew安装, JSON, Mason, mod_perl, NIDS, Node.js, Perl, SBOM分析, Svelte, Tabroom, 代码迁移, 安全防御评估, 容器化, 开源项目, 系统维护, 自定义脚本, 请求拦截, 赛事系统, 辩论赛管理, 遗留代码