여러분, 안녕하세요,
이것은 TheyWorkForYou.com 웹사이트를 구동하는 소스 코드입니다. 데이터베이스 로딩과 인덱싱을 위한 일부 Perl 스크립트도 있지만 주로 PHP로 작성되었습니다. 백엔드 파서 코드는 별도이며 GitHub에서 사용할 수 있습니다. TheyWorkForYou의 파서 정보 페이지에서 이에 대한 자세한 내용을 읽을 수 있습니다.
이 배포판의 TheyWorkForYou 소스 코드는 BSD 스타일 라이센스에 따라 릴리스됩니다. 대략적으로 이는 코드 또는 코드로 만든 바이너리를 자유롭게 복사, 사용, 수정 및 재배포할 수 있음을 의미합니다. 상업적 또는 비상업적 사용이 허용됩니다. 그러나 우리는 보증을 부인하며 귀하가 우리의 허락 없이 우리 이름을 사용하지 않기를 기대합니다. 정확한 법적 정보는 LICENSE.md 파일을 참조하세요.
영국 하원에서 의원들이 말하는 모든 내용은 Hansard라는 문서에 기록됩니다. TheyWorkForYou는 이 중요한 민주적 자원을 이해하는 데 도움이 됩니다. 또한 상원, 스코틀랜드 의회, 북아일랜드 의회의 내용도 포함됩니다.
설치 관련 질문은 INSTALL.md를 참조하세요.
질문이 있는 경우 가장 좋은 질문 장소는 mySociety TheyWorkForYou 이메일 목록(https://groups.google.com/a/mysociety.org/forum/#!forum/theyworkforyou)입니다.
최신 버전의 Docker가 필요합니다.
docker compose up [ -d ]
실행하면 환경이 시작됩니다. 처음 실행하면 다양한 이미지가 다운로드되고 애플리케이션 이미지가 로컬로 빌드되므로 몇 분 정도 걸릴 수 있습니다.
완료되면 http://localhost:8000
에서 첫 페이지를 볼 수 있습니다. 그러나 기본 빌드에는 데이터가 포함되어 있지 않으므로 Parlparse 데이터(회원, 토론, 투표 등) 다운로드 및 가져오기에 대한 정보는 INSTALL.md를 살펴보세요.
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에게 감사드립니다.