Hola a todos,
Este es el código fuente que impulsa el sitio web TheyWorkForYou.com. Está escrito principalmente en PHP, aunque también hay algunos scripts en Perl para cargar e indexar bases de datos. El código del analizador backend está separado y disponible en GitHub. Puede leer más sobre esto en la página de información del analizador de TheyWorkForYou.
El código fuente de TheyWorkForYou en esta distribución se publica bajo una licencia de estilo BSD. En términos generales, esto significa que usted es libre de copiar, usar, modificar y redistribuir el código o los archivos binarios creados a partir del código. Se permite el uso comercial o no comercial. Sin embargo, renunciamos a la garantía y esperamos que no utilice nuestro nombre sin nuestro permiso. Consulte el archivo LICENSE.md para obtener información legal exacta.
Todo lo que dicen los parlamentarios en la Cámara de los Comunes del Reino Unido queda registrado en un documento llamado Hansard; TheyWorkForYou ayuda a darle sentido a este recurso democrático vital. También incluye elementos de la Cámara de los Lores, el Parlamento escocés y la Asamblea de Irlanda del Norte.
Consulte INSTALL.md para preguntas sobre instalación.
Si tiene preguntas, el mejor lugar para hacerlas es la lista de correo electrónico de mySociety TheyWorkForYou en https://groups.google.com/a/mysociety.org/forum/#!forum/theyworkforyou
Necesitará una versión reciente de Docker.
Al ejecutar docker compose up [ -d ]
se iniciará el entorno. La primera vez que ejecute esto, puede tardar unos minutos, ya que se descargan varias imágenes y la imagen de la aplicación se crea localmente.
Una vez hecho esto, debería poder ver la página principal en http://localhost:8000
. Sin embargo, la compilación predeterminada no contiene datos, así que eche un vistazo a INSTALL.md para obtener información sobre cómo descargar e importar datos de Parlparse (miembros, debates, votos, etc.).
Puede detener el entorno ejecutando docker compose down
. Agregar -v
eliminará cualquier volumen de Docker que pueda estar en uso, incluidos todos sus datos.
DOCKER.md tiene algunas notas más detalladas sobre el entorno de desarrollo, junto con algunos comandos útiles y notas de configuración específicas de Docker más detalladas.
Para usar xdebug en VS Code mientras usa WSL, deberá configurar una variable ambiental de WSL_IP dentro del subsistema de la dirección IP del subsistema.
Inicie un nuevo espacio de código en Github seleccionando el menú desplegable Código (arriba a la derecha) e iniciando un nuevo espacio de código (o use la CLI de GitHub).
También puedes usar la insignia de arriba para usar una compilación previa con una cantidad básica de datos.
Esto configurará el contenedor y el entorno de Docker. Una vez terminado, el enlace al sitio debería estar disponible en la pestaña de puertos del panel del terminal.
Para completar con una cantidad mínima de datos, ejecute scripts/quick-populate
(aproximadamente 1 hora).
Si está trabajando en una página que utiliza el rediseño, necesitará compilar recursos estáticos después de los cambios:
script/watch-css
o
cd www/docs/style
bundle exec compass compile
para una compilación única o bundle exec compass watch
para volver a compilar en función de los cambios script/lint
ejecutará php-cs-fixer para archivos php.
TheyWorkForYou incluye un conjunto de pruebas que utiliza PHPunit. Para ejecutar pruebas, asegúrese de que las variables de entorno TWFY_TEST_DB_HOST
, TWFY_TEST_DB_NAME
, TWFY_TEST_DB_USER
y TWFY_TEST_DB_PASS
estén configuradas y contengan información relevante para su base de datos de pruebas. La base de datos será desmantelada y reconstruida durante la prueba, así que asegúrese de que no sea una copia importante.
Es posible que en algunas versiones de PHPUnit se produzcan errores relacionados con los informes de cobertura del código. Si este es el caso, la versión instalada por Composer y ubicada en /vendor/bin/phpunit
debería ejecutarse correctamente.
Gracias a Browserstack, que nos permitió utilizar sus herramientas de prueba para varios navegadores basadas en la web para este proyecto.