아나콘다와 함께 Python 3을 사용하는 것이 좋습니다. pip로 설치할 비 conda 종속성도 있습니다.
pip install -r requirements.txt
크기가 매우 커서 diff를 읽기 어렵게 만드는 IPython 노트북의 출력 커밋을 방지하려면 nbstripout을 git 필터로 설치하세요.
data
디렉터리에는 IPython 노트북 실행과 적절한 출력 파일 업데이트를 처리하는 Makefile
이 있습니다.
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
(프로덕션에 배포하려면 프로덕션 API 키로 설정된 PRODUCTION_MY_EU_API_KEY
변수가 필요합니다. 아래 배포에 대한 참고 사항을 참조하세요.)
cd frontend
npm install
npm run dev
그러면 http://localhost:8080/webpack-dev-server/
에서 webpack-serve
개발 서버를 사용하여 애플리케이션이 시작됩니다. frontend/src
에 있는 애플리케이션 소스 파일을 변경하면 대부분의 경우 페이지가 자동으로 다시 로드됩니다.
프로덕션 환경에서 구축될 예정이므로 미리 볼 수도 있습니다(그러나 개발용 Google Maps 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 플러그인을 얻는 것입니다.
JavaScript 코드의 형식을 일관되게 지정하도록 더 예쁜 코드 포맷터가 설정되었습니다. 이용해주세요. 이를 수행하는 가장 좋은 방법은 편집기용 플러그인을 얻는 것이지만 다음을 실행할 수도 있습니다.
npm install # in the repo root
npm run prettier
모든 코드의 형식을 지정합니다.
JavaScript 린팅을 위한 eslint도 있습니다. 다시 말하지만, 가장 좋은 방법은 편집기의 플러그인을 켜는 것입니다. 그러나 다음을 실행할 수도 있습니다.
npm run eslint
모든 코드를 확인합니다.
정적 웹사이트는 SSL용 CloudFlare 뒤의 Google Cloud Storage에 배포됩니다. 배포하려면 다음을 수행하세요.
웹사이트를 호스팅하는 Google Cloud Storage 버킷에 대한 쓰기 액세스 권한을 부여받아야 합니다.
리퍼러를 www.myeu.uk
로 제한하고 localhost 또는 기타 도메인을 허용하지 않는 PRODUCTION_MY_EU_API_KEY
를 가져와야 합니다.
오류 모니터링을 사용하여 배포하려면 롤바 프로젝트에 대한 ROLLBAR_ACCESS_TOKEN
( post_client_item
) 및 ROLLBAR_DEPLOY_ACCESS_TOKEN
( post_server_item
) 키를 가져와야 합니다.
그런 다음 배포 스크립트를 실행하여 배포합니다.
cd frontend
./deploy.sh
LICENSE.md
참조하세요.