我們建議將 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
。