nubs / bizgolf-ui
使用Bizgolf库的代码高尔夫Web界面。
Requires
- php: ~5.4 || ~7.0
- ext-mcrypt: *
- cogpowered/finediff: ~0.0.1
- dflydev/markdown: ~1.0
- kukulich/fshl: ~2.1
- nesbot/carbon: ~1.2
- nubs/bizgolf: dev-master
- slim/slim: ~2.2
- slim/views: ~0.1.0
- twig/twig: ~1.13
This package is auto-updated.
Last update: 2024-09-12 21:36:32 UTC
README
使用Bizgolf库的代码高尔夫Web界面。查看该库以了解可用的代码高尔夫功能。
特性
此Web界面目前仅支持Bizgolf提供的任何孔的PHP 5.5提交。提供用户注册和登录,以便用户提交分数。
主页
主页包括一个包含所有用于托管活动的孔的列表以及活动的总分数板。
孔
每个孔都有自己的页面,其中指定了孔的要求,包括
- 对孔的预期描述,
- 对孔的约束,包括输入可选时提供输入的常量名称以及验证之前应用的对结果的trim,
- 以及一个通过孔验证的示例程序,可以用作解决方案的基础或用于本地验证。
孔详细信息页面上还包括一个分数板,包括所有通过提交的用户按分数排序,最短提交排在前面,并列出最近提交的列表,包括通过和失败,以及提交的长度。
用户
每个用户都有自己的页面,列出了他们的最佳提交以及他们在所有孔中的总分。
提交文件
登录后,每个孔的页面上有一个用于上传提交的表单。
提交
登录后,对认证用户的提交的任何引用都变为查看提交详情的链接。这对于跟踪失败提交特别有用。
以下是一个失败示例,其中提交的文件使用小写w
,而应该使用大写W
。此页面上包括
- 源代码(包括一个非utf-8编码的原始形式);
- 提交的输出,预期输出和两者的差异;
- stderr输出;
- 提交的常量值;
- 执行提交的退出状态;
- 提交的字节长度。
要求
此Web界面是用PHP编写的,并使用PHP 5.4的一些功能,因此较旧版本的PHP将无法工作。依赖关系使用Composer管理。《a href="https://github.com/nubs/bizgolf" rel="nofollow noindex noopener external ugc">Bizgolf库是主要依赖项,它依赖于Docker。
对于存储配置和用户数据,使用Mongo。您需要安装mongo pecl扩展并按以下说明配置Bizgolf-ui以指向mongo数据库。
还需要mcrypt PHP扩展来加密cookie。
安装
使用composer,可以使用以下命令安装项目及其PHP依赖项
composer create-project --stability=dev nubs/bizgolf-ui
配置
需要设置两个环境变量来配置应用程序。COOKIE_SECRET_KEY
需要设置为用于加密存储用户身份验证的cookie的私有和安全字符串。MONGOHQ_URL
需要指向mongo数据库的URL,例如mongodb://user:pass@example.com:10000/dbname
。
托管
对于测试,可以使用PHP的内置web服务器
COOKIE_SECRET_KEY='your secret here' MONGOHQ_URL='mongodb://localhost:27017' php --server localhost:8000 --docroot public
为了生产托管,更好的设置是Apache或Nginx。例如,这里是一个Apache虚拟主机配置的示例
<VirtualHost *:80> ServerName bizgolf DocumentRoot "/srv/http/bizgolf-ui/public" SetEnv COOKIE_SECRET_KEY "your secret here" SetEnv MONGOHQ_URL "mongodb://localhost:27017" <Directory "/srv/http/bizgolf-ui/public"> Order Allow,Deny Allow from all FallbackResource /index.php </Directory> </VirtualHost>
贡献
任何更改、建议或错误报告都欢迎在GitHub上提交。欢迎拉取请求!
许可证
bizgolf-ui遵循MIT许可证。请参阅LICENSE获取完整的许可证文本。