willscottuk / eurovision
演示欧洲歌唱大赛应用程序
v2.0
2018-05-13 08:30 UTC
Requires
- php: >=5.6
- cakephp/cakephp: 3.4.*
- cakephp/migrations: ~1.0
- cakephp/plugin-installer: *
- mobiledetect/mobiledetectlib: 2.*
Requires (Dev)
- cakephp/bake: ~1.1
- cakephp/debug_kit: ~3.2
- psy/psysh: @stable
Suggests
- cakephp/cakephp-codesniffer: Allows to check the code against the coding standards used in CakePHP.
- markstory/asset_compress: An asset compression plugin which provides file concatenation and a flexible filter system for preprocessing and minification.
- phpunit/phpunit: Allows automated tests to be run without system-wide install.
This package is auto-updated.
Last update: 2024-09-18 11:38:50 UTC
README
一个简单的基于 CakePHP 的欧洲歌唱大赛派对/投票应用程序。
要求
- 带有
mod_rewrite的 Apache - PHP 5.3 或更高版本
- MySQL 4.1 或更高版本
- CakePHP 要求:
mcrypt、mbstring和intl
使用 composer 进行安装
composer create-project willscottuk/eurovision eurovisioncd eurovisioncomposer install- 在您的数据库上运行
eurovision.sql以设置必要的表 - 修改
config/app.php以包含您的数据库详细信息。 - 将
eurovision/webroot设置为您的 webroot - 转到
yourdomain.com/users/add创建管理员用户。
使用方法
我们已经使用了两年,v2 版本在 2018 年的基础上进行了重大的后端改进。
使它工作所需的步骤
- 将参赛国家和他们的表演细节添加到
countries数据库中。旗帜列应包含 2 个字母的 ISO Alpha-2 代码(https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)。如果您像往常一样提前进行,则此阶段的位姿将为NULL。 - 编辑 'settings' 表以输入您的值 - 有年份、东道国和城市等字段,以及您的 URL 和访客 Wi-Fi 详细信息。
- 当最终演出顺序已知时,更新
position列以显示演出顺序(其中 1 是第一场演出)。 - 使用“第二屏幕”可以大大提高体验 - 我在 2018 年欧洲歌唱大赛时使用了一个老式显示器连接到我的笔记本电脑。要进入此屏幕,您需要转到
yourdomain.com/screen。 - 在夜间,有人需要通知应用程序何时开始每首歌。为此,您需要“上帝模式” -
yourdomain.com/control/god。当歌曲开始时,点击大“下一曲”按钮,并在 5 秒内(见下文了解其工作方式)第二屏幕将更新为 3 分钟计时器。 - 一旦 3 分钟计时器结束,屏幕将显示输入的投票和评论摘要。务必告诉人们他们的投票必须在歌曲结束时完成!
- 注意 - 这部分目前是硬编码的,因此如果决赛选手多于或少于 26 位,则需要进行调整。一旦所有表演都结束,并且你已经完成了所有投票,上帝模式将开始 5 分钟倒计时,显示最终结果 - 这些显示的 12、10、8、7、6、5、4、3、2、1 分,就像你是国家级别评委一样。
- (没有第 8 步 - 享受吧!)
工作原理
控制表将从默认值(0,0 - 显示旋转欢迎屏幕)递增到(1,1 - 显示第一场演出的投票屏幕)到(1,2 - 显示第一场演出的结果屏幕)到(2,1 - 第二场演出的投票)等等。
屏幕视图(yourdomain.com/screen)使用 jQuery 每隔 5 秒ping一次,以检查控制表是否已更改。如果已更改,它将刷新到新显示。在 3 分钟投票计时器结束时,状态(2,1)将自动更新为(2,2),因此显示结果。
在新歌曲开始时,上帝模式用户需要点击按钮来从(例如)(2,2)移动到(3,1)。
进行中
待办事项
- 添加emoji支持(已经将数据库更改为UTF-8进行准备)
- 添加更友好的管理后端
- 为远程参与者添加观看投票的方式!让我们明年把它做得更大!