willscottuk/eurovision

演示欧洲歌唱大赛应用程序

v2.0 2018-05-13 08:30 UTC

README

一个简单的基于 CakePHP 的欧洲歌唱大赛派对/投票应用程序。

要求

  1. 带有 mod_rewrite 的 Apache
  2. PHP 5.3 或更高版本
  3. MySQL 4.1 或更高版本
  4. CakePHP 要求:mcryptmbstringintl

使用 composer 进行安装

  1. composer create-project willscottuk/eurovision eurovision
  2. cd eurovision
  3. composer install
  4. 在您的数据库上运行 eurovision.sql 以设置必要的表
  5. 修改 config/app.php 以包含您的数据库详细信息。
  6. eurovision/webroot 设置为您的 webroot
  7. 转到 yourdomain.com/users/add 创建管理员用户。

使用方法

我们已经使用了两年,v2 版本在 2018 年的基础上进行了重大的后端改进。

使它工作所需的步骤

  1. 将参赛国家和他们的表演细节添加到 countries 数据库中。旗帜列应包含 2 个字母的 ISO Alpha-2 代码(https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)。如果您像往常一样提前进行,则此阶段的位姿将为 NULL
  2. 编辑 'settings' 表以输入您的值 - 有年份、东道国和城市等字段,以及您的 URL 和访客 Wi-Fi 详细信息。
  3. 当最终演出顺序已知时,更新 position 列以显示演出顺序(其中 1 是第一场演出)。
  4. 使用“第二屏幕”可以大大提高体验 - 我在 2018 年欧洲歌唱大赛时使用了一个老式显示器连接到我的笔记本电脑。要进入此屏幕,您需要转到 yourdomain.com/screen
  5. 在夜间,有人需要通知应用程序何时开始每首歌。为此,您需要“上帝模式” - yourdomain.com/control/god。当歌曲开始时,点击大“下一曲”按钮,并在 5 秒内(见下文了解其工作方式)第二屏幕将更新为 3 分钟计时器。
  6. 一旦 3 分钟计时器结束,屏幕将显示输入的投票和评论摘要。务必告诉人们他们的投票必须在歌曲结束时完成!
  7. 注意 - 这部分目前是硬编码的,因此如果决赛选手多于或少于 26 位,则需要进行调整。一旦所有表演都结束,并且你已经完成了所有投票,上帝模式将开始 5 分钟倒计时,显示最终结果 - 这些显示的 12、10、8、7、6、5、4、3、2、1 分,就像你是国家级别评委一样。
  8. (没有第 8 步 - 享受吧!)

工作原理

控制表将从默认值(0,0 - 显示旋转欢迎屏幕)递增到(1,1 - 显示第一场演出的投票屏幕)到(1,2 - 显示第一场演出的结果屏幕)到(2,1 - 第二场演出的投票)等等。

屏幕视图(yourdomain.com/screen)使用 jQuery 每隔 5 秒ping一次,以检查控制表是否已更改。如果已更改,它将刷新到新显示。在 3 分钟投票计时器结束时,状态(2,1)将自动更新为(2,2),因此显示结果。

在新歌曲开始时,上帝模式用户需要点击按钮来从(例如)(2,2)移动到(3,1)。

进行中

待办事项

  1. 添加emoji支持(已经将数据库更改为UTF-8进行准备)
  2. 添加更友好的管理后端
  3. 为远程参与者添加观看投票的方式!让我们明年把它做得更大!