我们建议将 Python 3 与 anaconda 一起使用。还可以使用 pip 安装非 conda 依赖项:
pip install -r requirements.txt
为了避免提交 IPython 笔记本的输出(该输出可能非常大并且使差异难以阅读),请安装 nbstripout 作为 git 过滤器。
data
目录中有一个Makefile
,用于处理运行 IPython 笔记本并更新相应的输出文件。
cd data
make
大多数数据集都包含在这个存储库中,但有些数据集非常大,因此必须单独下载,如下所示。
您只需下载这些即可进行相关处理;应用程序开发所需的数据位于data/*/output
文件夹中,尤其是data/map/output
。
从这些来源:
文件必须存储在这里:
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
从这些来源:
文件必须存储在这里:
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
从这个页面:
文件必须存储在这里:
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
从这个页面:
https://www.eea.europa.eu/data-and-maps/data/natura-9#tab-european-data
NATURA2000SITES
csv 文件必须存储在此处:
data/life/input/NATURA2000SITES.csv
对于邮政编码选区查找,请从 https://opendata.camden.gov.uk/Maps/National-Statistics-Postcode-Lookup-UK/tr8t-gqz7、gzip 下载数据并存储在此处:
data/postcodes/input/National_Statistics_Postcode_Lookup_UK.csv.gz
最新的应用程序位于frontend
目录中。这是一个用webpack构建的静态网站。
安装 Node.js 版本 8.11 或更高版本。
该应用程序使用 Google 地图,因此您需要创建一个 Google Cloud Platform 帐户进行开发。这需要使用信用卡,但开发使用通常是免费的。
转至 API 列表并确保 Google Maps JavaScript API 和 Places API 均已启用。
转到凭据列表并生成用于开发的 API 密钥。
对于开发,您需要将开发 Google Maps API 密钥放入环境变量中:
DEVELOPMENT_MY_EU_API_KEY=YourKeyHere
(要部署到生产环境,您需要将PRODUCTION_MY_EU_API_KEY
变量设置为生产 API 密钥;请参阅下面的部署说明。)
cd frontend
npm install
npm run dev
这将使用http://localhost:8080/webpack-dev-server/
上的webpack-serve
开发服务器启动应用程序。在大多数情况下,对frontend/src
中应用程序源文件的更改将自动重新加载页面。
您还可以预览它将在生产中构建(但使用开发 Google 地图 API 密钥,因此地图将加载):
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!
根目录中有一个 editorconfig 定义了编码、制表符与空格等。请使用它。最好的方法是为您的编辑器获取 editorconfig 插件。
Prettier 代码格式化程序被设置为一致地格式化 JavaScript 代码。请使用它。最好的方法是为你的编辑器获取一个插件,但你也可以运行
npm install # in the repo root
npm run prettier
格式化所有代码。
还有用于 JavaScript linting 的 eslint。同样,最好的办法是为你的编辑器打开插件,但你也可以运行
npm run eslint
检查所有代码。
静态网站部署到 CloudFlare for SSL 后面的 Google Cloud Storage。部署:
您需要被授予对托管网站的 Google Cloud Storage 存储桶的写入权限。
您需要获取PRODUCTION_MY_EU_API_KEY
,它将引荐来源网址限制为www.myeu.uk
(并且不允许 localhost 或其他域)。
要使用错误监控进行部署,您需要获取 rollbar 项目的ROLLBAR_ACCESS_TOKEN
( post_client_item
) 和ROLLBAR_DEPLOY_ACCESS_TOKEN
( post_server_item
) 键。
然后运行deploy脚本进行部署:
cd frontend
./deploy.sh
请参阅LICENSE.md
。