نوصي باستخدام Python 3 مع Anaconda. هناك أيضًا تبعيات غير مدنية للتثبيت مع PIP:
pip install -r requirements.txt
لتجنب الالتزام بإخراج دفاتر Ipython ، والتي يمكن أن تكون كبيرة جدًا وجعلها صعبة القراءة ، يرجى تثبيت nbstripout كمرشح GIT.
هناك Makefile في دليل data الذي يتولى تشغيل دفاتر الملاحظات ipython وتحديث ملفات الإخراج المناسبة.
cd data
make
يتم تضمين معظم مجموعات البيانات في هذا الريبو ، ولكن بعضها كبير جدًا ، لذلك يجب تنزيلها بشكل منفصل ، على النحو التالي.
ما عليك سوى تنزيلها إذا كنت ترغب في العمل على المعالجة ذات الصلة ؛ البيانات اللازمة للتطوير على التطبيق موجودة في مجلدات data/*/output ، وخاصة data/map/output .
من هذه المصادر:
يجب تخزين الملفات هنا:
data/cap/input/2014_All_CAP_Search_Results_Data_P14_1.xlsdata/cap/input/2015/DAERA-Table 1.csvdata/cap/input/2015/RPA-Table 1.csvdata/cap/input/2015/RPA2-Table 1.csvdata/cap/input/2015/SGRPID-Table 1.csvdata/cap/input/2015/WG-Table 1.csvdata/cap/input/2016_All_CAP_Search_Results_Data_P14.xlsxdata/cap/input/2017_All_CAP_Search_Results_Data_P14.xlsxمن هذه المصادر:
يجب تخزين الملفات هنا:
data/cordis/input/fp7/cordis-fp7briefs.xlsxdata/cordis/input/fp7/cordis-fp7organizations.xlsxdata/cordis/input/fp7/cordis-fp7projects.xlsxdata/cordis/input/h2020/cordis-h2020organizations.xlsxdata/cordis/input/h2020/cordis-h2020projects.xlsxمن هذه الصفحة:
يجب تخزين الملفات هنا:
data/erasmus/input/CoopIndustrialisedCountries_Projects_Overview_2018-09-10.xlsdata/erasmus/input/ErasmusMundus_Projects_Overview_2018-09-10.xlsdata/erasmus/input/ErasmusPlus_JeanMonnet_Projects_Overview_2018-09-10.xlsdata/erasmus/input/ErasmusPlus_KA1_2014_LearningMobilityOfIndividuals_Projects_Overview_2018-09-11.xlsdata/erasmus/input/ErasmusPlus_KA1_2015_LearningMobilityOfIndividuals_Projects_Overview_2018-09-11.xlsdata/erasmus/input/ErasmusPlus_KA1_2016_LearningMobilityOfIndividuals_Projects_Overview_2018-09-11.xlsdata/erasmus/input/ErasmusPlus_KA1_2017_LearningMobilityOfIndividuals_Projects_Overview_2018-09-10.xlsdata/erasmus/input/ErasmusPlus_KA1_2018_LearningMobilityOfIndividuals_Projects_Overview_2018-09-10.xlsdata/erasmus/input/ErasmusPlus_KA2_CooperationForInnovationAndTheExchangeOfGoodPractices_Projects_Overview_2018-09-10.xlsdata/erasmus/input/ErasmusPlus_KA3_SupportForPolicyReform_Projects_Overview_2018-09-10.xlsdata/erasmus/input/ErasmusPlus_Sports_Projects_Overview_2018-09-10.xlsdata/erasmus/input/LifeLongLearning_Projects_Overview_2018-09-10.xlsdata/erasmus/input/Sports_Projects_Overview_2018-09-10.xlsdata/erasmus/input/Tempus_Projects_Overview_2018-09-10.xlsdata/erasmus/input/YouthInAction_Projects_Overview_2018-09-10.xlsمن هذه الصفحة:
https://www.eea.europa.eu/data-and-maps/data/natura-9#tab-european-data
يجب تخزين ملف CSV NATURA2000SITES هنا:
data/life/input/NATURA2000SITES.csvللحصول على بحث postcode-constituency ، قم بتنزيل البيانات من 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.
تثبيت العقدة JS الإصدار 8.11 أو أعلى.
يستخدم التطبيق خرائط Google ، لذلك ستحتاج إلى إنشاء حساب منصة Google Cloud للتطوير. هذا يتطلب وضع بطاقة ائتمان ، ولكن استخدام التطوير سيكون عمومًا في الطبقة الحرة.
انتقل إلى قائمة API وتأكد من تمكين كل من JavaScript API و API للأماكن.
انتقل إلى قائمة بيانات الاعتماد وإنشاء مفتاح API للتنمية.
للتنمية ، تحتاج إلى وضع مفتاح API لتطوير Google Maps في متغير البيئة:
DEVELOPMENT_MY_EU_API_KEY=YourKeyHere
(للنشر على الإنتاج ، تحتاج إلى PRODUCTION_MY_EU_API_KEY المتغير الذي تم تعيينه على مفتاح واجهة برمجة تطبيقات الإنتاج ؛ انظر الملاحظات على النشر أدناه.)
cd frontend
npm install
npm run dev
سيؤدي ذلك إلى بدء التطبيق باستخدام خادم تطوير webpack-serve على http://localhost:8080/webpack-dev-server/ . التغييرات على ملفات مصدر التطبيق في frontend/src ستعمل في معظم الحالات إعادة تحميل الصفحة تلقائيًا.
يمكنك أيضًا معاينة الإنتاج الذي سيتم بناؤه (ولكن مع وجود مفتاح API لـ Google Maps ، بحيث سيتم تحميل الخريطة) مع
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!
يوجد محرر في الجذر الذي يحدد الترميز ، وعلامات التبويب مقابل المساحات ، وما إلى ذلك .. يرجى استخدامه. أفضل طريقة للقيام بذلك هي الحصول على مكون إضافي للمحرر للمحرر.
يتم إعداد تنسيق الرمز الأملس لتنسيق رمز JavaScript باستمرار. الرجاء استخدامه. أفضل طريقة للقيام بذلك هي الحصول على مكون إضافي لمحررك ، ولكن يمكنك أيضًا التشغيل
npm install # in the repo root
npm run prettier
لتنسيق كل الرمز.
هناك أيضا eslint ل clovaScript linting. مرة أخرى ، أفضل ما يمكنك فعله هو تشغيل البرنامج المساعد لمحررك ، ولكن يمكنك أيضًا التشغيل
npm run eslint
للتحقق من كل الرمز.
يتم نشر موقع الويب الثابت في تخزين Google Cloud خلف CloudFlare لـ SSL. للنشر:
يجب أن تُمنح الوصول إلى الكتابة إلى دلو Google Cloud Storage الذي يستضيف موقع الويب.
تحتاج إلى الحصول على PRODUCTION_MY_EU_API_KEY ، والذي يقيد المرجع إلى www.myeu.uk (ولا يسمح لـ LocalHost أو مجالات أخرى).
للنشر مع مراقبة الخطأ ، تحتاج إلى الحصول على مفاتيح ROLLBAR_ACCESS_TOKEN ( post_client_item ) و ROLLBAR_DEPLOY_ACCESS_TOKEN ( post_server_item ) لمشروعنا.
ثم قم بتشغيل البرنامج النصي النشر للنشر:
cd frontend
./deploy.sh
يرجى الاطلاع على LICENSE.md .