Recomendamos usar Python 3 com anaconda. Existem também dependências não-conda para instalar com pip:
pip install -r requirements.txt
Para evitar comprometer a saída de notebooks IPython, que podem ser muito grandes e dificultar a leitura das diferenças, instale nbstripout como um filtro git.
Há um Makefile
no diretório data
que gerencia a execução dos notebooks IPython e a atualização dos arquivos de saída apropriados.
cd data
make
A maioria dos conjuntos de dados está incluída neste repositório, mas alguns são bastante grandes, portanto devem ser baixados separadamente, conforme segue.
Você só precisa baixá-los se quiser trabalhar no processamento relevante; os dados necessários para o desenvolvimento do aplicativo estão nas pastas data/*/output
, especialmente data/map/output
.
Destas fontes:
Os arquivos devem ser armazenados aqui:
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
Destas fontes:
Os arquivos devem ser armazenados aqui:
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
Nesta página:
Os arquivos devem ser armazenados aqui:
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
Nesta página:
https://www.eea.europa.eu/data-and-maps/data/natura-9#tab-european-data
O arquivo csv NATURA2000SITES
deve ser armazenado aqui:
data/life/input/NATURA2000SITES.csv
Para pesquisa de código postal-constituency, baixe os dados de https://opendata.camden.gov.uk/Maps/National-Statistics-Postcode-Lookup-UK/tr8t-gqz7, gzip e armazene aqui:
data/postcodes/input/National_Statistics_Postcode_Lookup_UK.csv.gz
O aplicativo mais recente está no diretório frontend
. É um site estático construído com webpack.
Instale o node js versão 8.11 ou superior.
O aplicativo usa o Google Maps, então você precisará criar uma conta do Google Cloud Platform para desenvolvimento. Isso requer a inserção de um cartão de crédito, mas o uso do desenvolvimento geralmente será no nível gratuito.
Vá para a lista de APIs e certifique-se de que a API JavaScript do Google Maps e a API Places estejam ativadas.
Acesse a lista Credenciais e gere uma chave API para desenvolvimento.
Para desenvolvimento, você precisa colocar sua chave de API do Google Maps de desenvolvimento em uma variável de ambiente:
DEVELOPMENT_MY_EU_API_KEY=YourKeyHere
(Para implantar em produção, você precisa de uma variável PRODUCTION_MY_EU_API_KEY
definida como uma chave de API de produção; consulte as notas sobre implantação abaixo.)
cd frontend
npm install
npm run dev
Isso iniciará o aplicativo usando o servidor de desenvolvimento webpack-serve
em http://localhost:8080/webpack-dev-server/
. Alterações nos arquivos de origem do aplicativo em frontend/src
irão, na maioria dos casos, recarregar automaticamente a página.
Você também pode visualizar como ele será criado em produção (mas com uma chave de API do Google Maps em desenvolvimento, para que o mapa seja carregado) com
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!
Existe um editorconfig na raiz que define codificação, tabulações versus espaços, etc. A melhor maneira de fazer isso é obter um plugin editorconfig para o seu editor.
O formatador de código mais bonito é configurado para formatar o código JavaScript de forma consistente. Por favor, use-o. A melhor maneira de fazer isso é obter um plugin para o seu editor, mas você também pode executar
npm install # in the repo root
npm run prettier
para formatar todo o código.
Também existe eslint para linting JavaScript. Novamente, a melhor coisa a fazer é ativar o plugin do seu editor, mas você também pode executar
npm run eslint
para verificar todo o código.
O site estático é implantado no Google Cloud Storage por trás do CloudFlare para SSL. Para implantar:
Você precisa ter acesso de gravação ao bucket do Google Cloud Storage que hospeda o site.
Você precisa obter o PRODUCTION_MY_EU_API_KEY
, que restringe o referenciador a www.myeu.uk
(e não permite localhost ou outros domínios).
Para implantar com monitoramento de erros, você precisa obter as chaves ROLLBAR_ACCESS_TOKEN
( post_client_item
) e ROLLBAR_DEPLOY_ACCESS_TOKEN
( post_server_item
) para nosso projeto rollbar.
Em seguida, execute o script de implantação para implantar:
cd frontend
./deploy.sh
Consulte LICENSE.md
.