bobalazek / contest-o-mat
该软件包已被弃用,不再维护。未建议替代包。
竞赛应用程序的简单入门套件。
1.0.1
2017-09-19 15:45 UTC
Requires
- php: ^7.0
- cocur/slugify: ~1.1
- dflydev/doctrine-orm-service-provider: ~2.0
- doctrine/dbal: ~2.5
- doctrine/migrations: ~1.1
- doctrine/orm: ~2.5
- facebook/graph-sdk: ^5.5
- knplabs/knp-components: ~1.2
- mobiledetect/mobiledetectlib: ^2.8
- mwhite/random-uagent: dev-master
- ocramius/proxy-manager: ~2.0.4
- oro/doctrine-extensions: dev-master
- pelago/emogrifier: dev-master
- saxulum/config-service-provider: ~2.0
- saxulum/saxulum-doctrine-orm-manager-registry-provider: ~3.1
- silex/silex: ~2.1
- swiftmailer/swiftmailer: 5.*
- symfony/config: ^3.3
- symfony/doctrine-bridge: ^3.3
- symfony/form: ^3.3
- symfony/framework-bundle: ^3.3
- symfony/security: ^3.3
- symfony/security-csrf: ^3.3
- symfony/translation: ^3.3
- symfony/twig-bridge: ^3.3
- symfony/validator: ^3.3
- ua-parser/uap-php: ~3.4
Requires (Dev)
- phpunit/phpunit: ~5.7
- symfony/browser-kit: ^3.3
README
Contest-O-Mat
一个简单的竞赛/奖品游戏应用程序入门套件。
功能
- 用户系统:您和您的客户(奖品游戏的拥有者)可以创建无限数量的用户,并且每个用户都可以对每个功能有单独的权限(查看、创建或编辑用户、角色、参与者、条目、投票、获奖者和统计信息)。每个用户也可以自行注册(如果启用)。该系统还集成了用户的密码重置功能。
- 参与者:参加您的奖品游戏/抽奖的每位访问者。
- 条目:如果参与者可以多次参加奖品游戏/竞赛,则参与者只登记一次,并且每次参与创建一个“条目”(因为每次访问者参与时都创建一个新的参与者没有意义)。
- 投票:如果您想让访问者对条目进行投票。
- 获奖者:您可以挑选获奖的参与者和条目,然后将在单独的页面上显示。
- 统计信息:为了全面了解您的应用程序。您可以通过以下方式查看参与者、条目、投票和访问量(如果启用Piwik):
- 过去48小时,
- 过去30天,
- 浏览器,
- 操作系统,
- 设备类型,
- 设备,
- 城市和
- 国家。
- 设置:大部分设置都可以通过管理进行编辑。
构建状态
需求 & 工具 & 助手
- PHP > 5.4
- Composer
- Bower
- PHP Coding Standards Fixer(可选)
设置/安装
- 导航到您的网站目录:
cd /var/www - 创建一个新的项目:
composer create-project bobalazek/contest-o-mat --no-scripts - 配置数据库(可能还需要其他一些设置,如果您需要的话): app/configs/global.php 或 app/configs/global-local.php.dist(如果您将部署它并需要不同的本地配置,请将 global-local.php.dist 重命名为 global-local.php 并设置自己的配置)
- 之后,运行以下命令
bin/console orm:schema-tool:update --force(安装数据库模式)bower update(安装前端依赖 - 如果您还没有安装 Bower,则需要先安装)bin/console application:database:hydrate-data(如果您想,可以填充一些数据)
- 完成!开始开发!
数据库
- 我们使用Doctrine数据库
- 导航到您的项目目录:
cd /var/www/my-app - 检查实体:
bin/console orm:info(可选) - 更新模式:
bin/console orm:schema-tool:update --force - 数据库更新!
开发
在开发应用程序时,您可能需要/需要编辑的重要文件/目录
- 配置:
app/configs/global.php(只需打开文件并自行查看。有许多设置您可能想要调整) - 中间件:
app/core/middlewares.php(您可能想更深入地了解“用户UID”部分 - 第115行以下) - HTML模板:
app/templates/contents/application/ - JavaScript:
web/assets/javascripts/contest.js - 样式表:
web/assets/stylesheets/contest.css - 参与表单类型:
src/Application/Form/Type/Participate/DefaultType.php(参与时显示的表单) - 应用程序控制器:
src/Application/Controller/ApplicationController.php(所有竞赛逻辑、处理和持久化都在这里) - 应用程序控制器提供者:
src/Application/ControllerProvider/ApplicationControllerProvider.php(竞赛路由在这里)
应用程序名称
您应该在以下文件中替换实际应用程序的名称
README.mdbower.jsoncomposer.jsonphpunit.xmlapp/configs/global.php
管理员登录
使用bin/console application:database:hydrate-data命令,默认情况下,将激活2个用户(您可以在app/fixtures/users.php文件中更改它们)
- 管理员用户(具有管理员权限)
- 用户名:
admin或admin@myapp.com - 密码:
test
- 用户名:
- 测试用户(具有默认用户权限)
- 用户名:
test或test@myapp.com - 密码:
test
- 用户名:
命令
bin/console application:environment:prepare- 将创建全局-local.php和开发-local.php文件(如果它们不存在)bin/console application:database:hydrate-data [-r|--remove-existing-data]- 将使用一些基本数据填充表,例如:2个用户和6个角色(--remove-existing-data标志将在重新填充之前截断所有表)bin/console application:storage:prepare- 将准备所有存储(var/)文件夹,例如:缓存、日志、会话等。bin/console application:translations:prepare- 将所有未翻译的字符串准备到一个单独的(app/locales/{locale}_untranslated.yml)文件中。接受区域设置参数(默认为'en_US' - 使用方法:bin/console application:translations:prepare --locale de_DE或bin/console application:translations:prepare -l de_DE)
其他命令
sudo php-cs-fixer fix .- 如果您希望在每次提交之前修复代码。您需要安装PHP编码标准修复器
预览
应用程序 - 索引
应用程序 - 参与
会员区域 - 用户
会员区域 - 条目
会员区域 - 参与者
会员区域 - 参与者 - 元数据模态框
会员区域 - 参与者 - 编辑
会员区域 - 投票
会员区域 - 获胜者
会员区域 - 统计数据
会员区域 - 统计数据(更多)
会员区域 - 统计数据(更多)
会员区域 - 统计数据 - 访问量
会员区域 - 设置
联系方式
更新日志
1.0.0
- 完全重构 - 应用现在基于 silex2
- 修复了大型的选择(条目 & 参与者数据) - 现在异步加载数据
许可证
Contest-O-Mat 在 MIT 许可证下授权。














