大家好,
这是为 TheyWorkForYou.com 网站提供支持的源代码。它主要是用 PHP 编写的,尽管也有一些用于数据库加载和索引的 Perl 脚本。后端解析器代码是独立的,可在 GitHub 上获取。您可以在 TheyWorkForYou 的解析器信息页面上阅读更多相关信息
此发行版中的 TheyWorkForYou 源代码是在 BSD 风格许可证下发布的。粗略地说,这意味着您可以自由复制、使用、修改和重新分发代码或由代码生成的二进制文件。允许商业或非商业用途。但是,我们不提供任何保证,并希望您未经我们许可不得使用我们的名称。有关确切的法律信息,请参阅文件 LICENSE.md。
议员们在英国下议院所说的一切都记录在一份名为《议事录》的文件中; TheyWorkForYou 有助于理解这一重要的民主资源。它还包括上议院、苏格兰议会和北爱尔兰议会的事务。
有关安装问题,请参阅 INSTALL.md。
如果您有疑问,最好的提问地点是 mySociety TheyWorkForYou 电子邮件列表,网址为 https://groups.google.com/a/mysociety.org/forum/#!forum/theyworkforyou
您将需要最新版本的 Docker。
运行docker compose up [ -d ]
将启动环境。第一次运行此程序时,可能需要几分钟的时间,因为下载各种映像并在本地构建应用程序映像。
完成后,您应该能够在http://localhost:8000
查看首页。然而,默认构建不包含数据,因此请查看 INSTALL.md 以获取有关下载和导入 Parlparse 数据(成员、辩论、投票等)的信息。
您可以通过运行docker compose down
来停止环境。添加-v
将删除可能正在使用的任何 Docker 卷,包括其所有数据。
DOCKER.md 有一些关于开发环境的更详细的说明,以及一些有用的命令和更详细的 Docker 特定设置说明。
要在使用 WSL 的同时在 VS Code 中使用 xdebug,您需要在子系统的 IP 地址的子系统内设置 WSL_IP 的环境变量。
通过选择代码下拉列表(右上角)并启动新的代码空间(或使用 GitHub CLI),在 Github 上启动新的代码空间。
您还可以使用上面的徽章来使用具有基本数据量的预构建。
这将设置 Docker 容器和环境。完成后,该站点的链接应该在终端面板的端口选项卡中可用。
要填充最少量的数据,请运行scripts/quick-populate
(大约 1 小时)。
如果您正在处理使用重新设计的页面,则需要在更改后编译静态资源:
script/watch-css
或者
cd www/docs/style
bundle exec compass compile
一次性编译或bundle exec compass watch
以在更改时重新编译script/lint
将为 php 文件运行 php-cs-fixer。
TheyWorkForYou 包含一个使用 PHPunit 的测试套件。要运行测试,请确保设置环境变量TWFY_TEST_DB_HOST
、 TWFY_TEST_DB_NAME
、 TWFY_TEST_DB_USER
和TWFY_TEST_DB_PASS
并包含测试数据库的相关信息。数据库将在测试期间被剥离并重建,因此请确保它不是重要的副本。
您可能会发现,在某些版本的 PHPUnit 中,会引发有关代码覆盖率报告的错误。如果是这种情况,由 Composer 安装并位于/vendor/bin/phpunit
版本应该可以正确运行。
感谢 Browserstack 让我们在这个项目中使用他们基于 Web 的跨浏览器测试工具。