Wir empfehlen die Verwendung von Python 3 mit Anaconda. Es gibt auch Nicht-Conda-Abhängigkeiten, die mit pip installiert werden können:
pip install -r requirements.txt
Um zu vermeiden, dass die Ausgabe von IPython-Notebooks festgeschrieben wird, die sehr groß sein und die Lesbarkeit von Unterschieden erschweren kann, installieren Sie bitte nbstripout als Git-Filter.
Im data
befindet sich ein Makefile
, das die Ausführung der IPython-Notebooks und die Aktualisierung der entsprechenden Ausgabedateien übernimmt.
cd data
make
Die meisten Datensätze sind in diesem Repo enthalten, einige sind jedoch recht umfangreich und müssen daher wie folgt separat heruntergeladen werden.
Sie müssen diese nur dann herunterladen, wenn Sie an der entsprechenden Bearbeitung arbeiten möchten; Die für die Entwicklung der App benötigten Daten befinden sich in den Ordnern data/*/output
, insbesondere data/map/output
.
Aus diesen Quellen:
Dateien müssen hier gespeichert werden:
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
Aus diesen Quellen:
Dateien müssen hier gespeichert werden:
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
Von dieser Seite:
Dateien müssen hier gespeichert werden:
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
Von dieser Seite:
https://www.eea.europa.eu/data-and-maps/data/natura-9#tab-european-data
Die NATURA2000SITES
CSV-Datei muss hier gespeichert werden:
data/life/input/NATURA2000SITES.csv
Für die Suche nach Postleitzahlen und Wahlkreisen laden Sie die Daten von https://opendata.camden.gov.uk/Maps/National-Statistics-Postcode-Lookup-UK/tr8t-gqz7 herunter, gzip und speichern Sie sie hier:
data/postcodes/input/National_Statistics_Postcode_Lookup_UK.csv.gz
Die neueste Anwendung befindet sich im frontend
Verzeichnis. Es handelt sich um eine statische Website, die mit Webpack erstellt wurde.
Installieren Sie Node-JS-Version 8.11 oder höher.
Die Anwendung verwendet Google Maps, daher müssen Sie für die Entwicklung ein Google Cloud Platform-Konto erstellen. Hierfür ist die Eingabe einer Kreditkarte erforderlich, die Entwicklungsnutzung erfolgt jedoch im Allgemeinen im kostenlosen Kontingent.
Gehen Sie zur API-Liste und stellen Sie sicher, dass sowohl die Google Maps JavaScript API als auch die Places API aktiviert sind.
Gehen Sie zur Liste „Anmeldeinformationen“ und generieren Sie einen API-Schlüssel für die Entwicklung.
Für die Entwicklung müssen Sie Ihren Entwicklungs-Google Maps-API-Schlüssel in eine Umgebungsvariable einfügen:
DEVELOPMENT_MY_EU_API_KEY=YourKeyHere
(Für die Bereitstellung in der Produktion benötigen Sie eine Variable PRODUCTION_MY_EU_API_KEY
, die auf einen Produktions-API-Schlüssel festgelegt ist; siehe Hinweise zur Bereitstellung unten.)
cd frontend
npm install
npm run dev
Dadurch wird die Anwendung mithilfe des webpack-serve
Entwicklungsservers unter http://localhost:8080/webpack-dev-server/
gestartet. Änderungen an den Quelldateien der Anwendung in frontend/src
führen in den meisten Fällen automatisch zu einem Neuladen der Seite.
Sie können auch eine Vorschau davon anzeigen, wie es in der Produktion erstellt wird (allerdings mit einem Google Maps-API-Schlüssel für die Entwicklung, damit die Karte geladen wird).
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!
Es gibt eine Editorkonfiguration im Stammverzeichnis, die Codierung, Tabulatoren vs. Leerzeichen usw. definiert. Bitte verwenden Sie diese. Der beste Weg, dies zu tun, besteht darin, ein Editorconfig-Plugin für Ihren Editor zu erwerben.
Der Prettier-Codeformatierer ist so eingerichtet, dass er den JavaScript-Code konsistent formatiert. Bitte nutzen Sie es. Der beste Weg, dies zu tun, besteht darin, ein Plugin für Ihren Editor zu besorgen, Sie können es aber auch ausführen
npm install # in the repo root
npm run prettier
um den gesamten Code zu formatieren.
Es gibt auch eslint für JavaScript-Linting. Auch hier ist es am besten, das Plugin für Ihren Editor zu aktivieren, Sie können es aber auch ausführen
npm run eslint
um den gesamten Code zu überprüfen.
Die statische Website wird hinter CloudFlare für SSL in Google Cloud Storage bereitgestellt. Zur Bereitstellung:
Ihnen muss Schreibzugriff auf den Google Cloud Storage-Bucket gewährt werden, der die Website hostet.
Sie müssen den PRODUCTION_MY_EU_API_KEY
erhalten, der den Referrer auf www.myeu.uk
beschränkt (und weder localhost noch andere Domänen zulässt).
Für die Bereitstellung mit Fehlerüberwachung benötigen Sie die Schlüssel ROLLBAR_ACCESS_TOKEN
( post_client_item
) und ROLLBAR_DEPLOY_ACCESS_TOKEN
( post_server_item
) für unser Rollbar-Projekt.
Führen Sie dann das Bereitstellungsskript aus, um Folgendes bereitzustellen:
cd frontend
./deploy.sh
Bitte sehen Sie sich LICENSE.md
an.