Recomendamos usar Python 3 con anaconda. También existen dependencias que no son de Conda para instalar con pip:
pip install -r requirements.txt
Para evitar comprometer la salida de los cuadernos IPython, que pueden ser muy grandes y dificultar la lectura de las diferencias, instale nbstripout como filtro de git.
Hay un Makefile
en el directorio data
que maneja la ejecución de los cuadernos IPython y la actualización de los archivos de salida apropiados.
cd data
make
La mayoría de los conjuntos de datos están incluidos en este repositorio, pero algunos son bastante grandes, por lo que deben descargarse por separado, como se indica a continuación.
Sólo necesita descargarlos si desea trabajar en el procesamiento correspondiente; Los datos necesarios para el desarrollo de la aplicación se encuentran en las carpetas data/*/output
, especialmente data/map/output
.
De estas fuentes:
Los archivos deben almacenarse aquí:
data/cap/input/2014_All_CAP_Search_Results_Data_P14_1.xls
data/cap/input/2015/DAERA-Table 1.csv
data/cap/input/2015/RPA-Table 1.csv
data/cap/input/2015/RPA2-Table 1.csv
data/cap/input/2015/SGRPID-Table 1.csv
data/cap/input/2015/WG-Table 1.csv
data/cap/input/2016_All_CAP_Search_Results_Data_P14.xlsx
data/cap/input/2017_All_CAP_Search_Results_Data_P14.xlsx
De estas fuentes:
Los archivos deben almacenarse aquí:
data/cordis/input/fp7/cordis-fp7briefs.xlsx
data/cordis/input/fp7/cordis-fp7organizations.xlsx
data/cordis/input/fp7/cordis-fp7projects.xlsx
data/cordis/input/h2020/cordis-h2020organizations.xlsx
data/cordis/input/h2020/cordis-h2020projects.xlsx
Desde esta página:
Los archivos deben almacenarse aquí:
data/erasmus/input/CoopIndustrialisedCountries_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusMundus_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_JeanMonnet_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_KA1_2014_LearningMobilityOfIndividuals_Projects_Overview_2018-09-11.xls
data/erasmus/input/ErasmusPlus_KA1_2015_LearningMobilityOfIndividuals_Projects_Overview_2018-09-11.xls
data/erasmus/input/ErasmusPlus_KA1_2016_LearningMobilityOfIndividuals_Projects_Overview_2018-09-11.xls
data/erasmus/input/ErasmusPlus_KA1_2017_LearningMobilityOfIndividuals_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_KA1_2018_LearningMobilityOfIndividuals_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_KA2_CooperationForInnovationAndTheExchangeOfGoodPractices_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_KA3_SupportForPolicyReform_Projects_Overview_2018-09-10.xls
data/erasmus/input/ErasmusPlus_Sports_Projects_Overview_2018-09-10.xls
data/erasmus/input/LifeLongLearning_Projects_Overview_2018-09-10.xls
data/erasmus/input/Sports_Projects_Overview_2018-09-10.xls
data/erasmus/input/Tempus_Projects_Overview_2018-09-10.xls
data/erasmus/input/YouthInAction_Projects_Overview_2018-09-10.xls
Desde esta página:
https://www.eea.europa.eu/data-and-maps/data/natura-9#tab-european-data
El archivo csv NATURA2000SITES
debe almacenarse aquí:
data/life/input/NATURA2000SITES.csv
Para buscar distritos electorales de códigos postales, descargue los datos de https://opendata.camden.gov.uk/Maps/National-Statistics-Postcode-Lookup-UK/tr8t-gqz7, gzip y guárdelos aquí:
data/postcodes/input/National_Statistics_Postcode_Lookup_UK.csv.gz
La última aplicación está en el directorio frontend
. Es un sitio web estático construido con webpack.
Instale node js versión 8.11 o superior.
La aplicación utiliza Google Maps, por lo que deberá crear una cuenta de Google Cloud Platform para su desarrollo. Esto requiere ingresar una tarjeta de crédito, pero el uso del desarrollo generalmente será en el nivel gratuito.
Vaya a la lista de API y asegúrese de que tanto la API de JavaScript de Google Maps como la API de Places estén habilitadas.
Vaya a la lista de Credenciales y genere una clave API para el desarrollo.
Para el desarrollo, debe colocar su clave API de desarrollo de Google Maps en una variable de entorno:
DEVELOPMENT_MY_EU_API_KEY=YourKeyHere
(Para implementar en producción, necesita una variable PRODUCTION_MY_EU_API_KEY
configurada en una clave API de producción; consulte las notas sobre la implementación a continuación).
cd frontend
npm install
npm run dev
Esto iniciará la aplicación utilizando el servidor de desarrollo webpack-serve
en http://localhost:8080/webpack-dev-server/
. Los cambios en los archivos fuente de la aplicación en frontend/src
en la mayoría de los casos recargarán automáticamente la página.
También puede obtener una vista previa de cómo se creará en producción (pero con una clave API de desarrollo de Google Maps, para que el mapa se cargue) con
cd frontend
PRODUCTION_MY_EU_API_KEY=$DEVELOPMENT_MY_EU_API_KEY npm run build
npm run serve
rm -rf dist # don't leak your development key!
Hay un editorconfig en la raíz que define la codificación, tabulaciones versus espacios, etc. Úselo. La mejor manera de hacerlo es obtener un complemento editorconfig para su editor.
El formateador de código más bonito está configurado para formatear el código JavaScript de forma coherente. Úselo por favor. La mejor manera de hacerlo es obtener un complemento para su editor, pero también puede ejecutar
npm install # in the repo root
npm run prettier
para formatear todo el código.
También existe eslint para linting de JavaScript. Nuevamente, lo mejor que puedes hacer es activar el complemento para tu editor, pero también puedes ejecutar
npm run eslint
para comprobar todo el código.
El sitio web estático se implementa en Google Cloud Storage detrás de CloudFlare para SSL. Para implementar:
Debe tener acceso de escritura al depósito de Google Cloud Storage que aloja el sitio web.
Debe obtener PRODUCTION_MY_EU_API_KEY
, que restringe el referente a www.myeu.uk
(y no permite localhost u otros dominios).
Para implementar con monitoreo de errores, necesita obtener las claves ROLLBAR_ACCESS_TOKEN
( post_client_item
) y ROLLBAR_DEPLOY_ACCESS_TOKEN
( post_server_item
) para nuestro proyecto de barra antivuelco.
Luego ejecute el script de implementación para implementar:
cd frontend
./deploy.sh
Consulte LICENSE.md
.