เราขอแนะนำให้ใช้ Python 3 กับ Anaconda นอกจากนี้ยังมีการพึ่งพาที่ไม่ใช่ conda เพื่อติดตั้งด้วย PIP:
pip install -r requirements.txt
เพื่อหลีกเลี่ยงการส่งออกโน้ตบุ๊ก ipython ซึ่งอาจมีขนาดใหญ่มากและทำให้การอ่านแตกต่างกันโปรดติดตั้ง nbstripout เป็นตัวกรอง Git
มี Makefile ในไดเรกทอรี data ที่จัดการกับการรันโน้ตบุ๊ก ipython และอัปเดตไฟล์เอาต์พุตที่เหมาะสม
cd data
make
ชุดข้อมูลส่วนใหญ่รวมอยู่ใน repo นี้ แต่บางชุดมีขนาดค่อนข้างใหญ่ดังนั้นพวกเขาจึงต้องดาวน์โหลดแยกต่างหากดังนี้
คุณจะต้องดาวน์โหลดสิ่งเหล่านี้หากคุณต้องการทำงานในการประมวลผลที่เกี่ยวข้อง ข้อมูลที่จำเป็นสำหรับการพัฒนาแอพอยู่ในโฟลเดอร์ 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 Maps ดังนั้นคุณจะต้องสร้างบัญชี Google Cloud Platform เพื่อการพัฒนา สิ่งนี้ต้องใช้ในบัตรเครดิต แต่การใช้งานการพัฒนาโดยทั่วไปจะอยู่ในระดับฟรี
ไปที่รายการ API และตรวจสอบให้แน่ใจว่าทั้ง Google Maps JavaScript API และสถานที่ API เปิดใช้งาน
ไปที่รายการข้อมูลรับรองและสร้างคีย์ API สำหรับการพัฒนา
เพื่อการพัฒนาคุณต้องใส่คีย์ Google Maps API ของคุณในตัวแปรสภาพแวดล้อม:
DEVELOPMENT_MY_EU_API_KEY=YourKeyHere
(ในการปรับใช้กับการผลิตคุณต้องมีตัวแปร PRODUCTION_MY_EU_API_KEY ตั้งค่าเป็นคีย์ API การผลิตดูหมายเหตุเกี่ยวกับการปรับใช้ด้านล่าง)
cd frontend
npm install
npm run dev
สิ่งนี้จะเริ่มต้นแอปพลิเคชันโดยใช้เซิร์ฟเวอร์การพัฒนา webpack-serve บน http://localhost:8080/webpack-dev-server/ การเปลี่ยนแปลงไฟล์ต้นฉบับของแอปพลิเคชันใน 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
ในการจัดรูปแบบรหัสทั้งหมด
นอกจากนี้ยังมี Eslint สำหรับ JavaScript Linting อีกครั้งสิ่งที่ดีที่สุดที่ต้องทำคือเปิดปลั๊กอินสำหรับตัวแก้ไขของคุณ แต่คุณสามารถเรียกใช้ได้
npm run eslint
เพื่อตรวจสอบรหัสทั้งหมด
เว็บไซต์คงที่ถูกนำไปใช้กับ Google Cloud Storage หลัง CloudFlare สำหรับ SSL เพื่อปรับใช้:
คุณต้องได้รับการเข้าถึงการเข้าถึงการเขียนไปยังถังเก็บข้อมูลของ Google Cloud ที่โฮสต์เว็บไซต์
คุณต้องได้รับ PRODUCTION_MY_EU_API_KEY ซึ่ง จำกัด ผู้อ้างอิงไปยัง www.myeu.uk (และไม่อนุญาตให้มีพื้นที่ท้องถิ่นหรือโดเมนอื่น ๆ )
ในการปรับใช้กับการตรวจสอบข้อผิดพลาดคุณจะต้องได้รับ ROLLBAR_ACCESS_TOKEN ( post_client_item ) และ ROLLBAR_DEPLOY_ACCESS_TOKEN ( post_server_item ) คีย์สำหรับโครงการ Rollbar ของเรา
จากนั้นเรียกใช้สคริปต์การปรับใช้เพื่อปรับใช้:
cd frontend
./deploy.sh
โปรดดู LICENSE.md