พื้นที่เก็บข้อมูลนี้มีเทมเพลตเว็บแอปพลิเคชันแบบสแต็กเต็มรูปแบบที่ทำงานบนสแต็กโซลูชัน FARM ซึ่งย่อมาจาก:
สแต็ค FARM เป็นส่วนเสริมของสแต็ก LAMP ไม่มากก็น้อย โดยมีการเปลี่ยนแปลงที่โดดเด่นเหล่านี้:
Flask ใช้เพื่อเขียน API ของเว็บ / มิดเดิลแวร์ที่สามารถสื่อสารระหว่าง UI ของเว็บและแบ็กเอนด์ / ฐานข้อมูลของเว็บ นี่คือแกนหลักของแอปพลิเคชันทั้งหมดที่ติดชิ้นส่วนของแอปพลิเคชันแบบเต็มสแต็คไว้ด้วยกัน
โปรดทราบว่าเทมเพลตนี้ไม่ได้ใช้ ORM แต่ใช้โมดูล pymysql แทน ซึ่งหมายความว่านักพัฒนาจำเป็นต้องเขียนแบบสอบถาม SQL แต่สามารถเพิ่มความซับซ้อนของการสืบค้นที่จำเป็นในการทำงานบนฐานข้อมูลได้
AWS คือบริการคลาวด์ที่สามารถโฮสต์แอปพลิเคชันได้ เราสามารถโฮสต์ซอฟต์แวร์ทั้งหมดบนบริการต่อไปนี้:
ซึ่งหมายความว่านักพัฒนาสามารถเก็บทุกอย่างไว้บนแพลตฟอร์มเดียวและลดการทำงานของ DevOps / IT ให้เหลือน้อยที่สุด
React เป็นเฟรมเวิร์กที่ UI ของเว็บทำงานอยู่ แอปพลิเคชัน React อาจทำงานบน AWS Lambda ด้วย NodeJS
เทมเพลตนี้ใช้ JavaScript / JSX แต่อาจใช้ TypeScript ได้เช่นกัน
MySQL เป็นฐานข้อมูลเชิงสัมพันธ์ที่เว็บแบ็กเอนด์ใช้ นอกจากนี้ยังสามารถโฮสต์บน AWS ผ่านบริการ RDS ได้อีกด้วย
หากต้องการเรียกใช้เว็บแอปพลิเคชันนี้ จำเป็นต้องดำเนินการต่อไปนี้:
db/หากต้องการตั้งค่าอินสแตนซ์ MySQL ให้ทำตามขั้นตอนเหล่านี้:
mysql บนอินเทอร์เฟซบรรทัดคำสั่งของ Linuxsample.sql ภายในอินสแตนซ์ มันจะสร้างสคีมาชื่อ SampleInventory จากนั้นเริ่มต้นตารางชื่อ Inventory โค้ดเบสสำหรับ Flask API สามารถพบได้ในไดเร็กทอรี api/
virtualenv farm-stack หลังจากนำทางไปยังไดเร็กทอรีนั้นsource farm-stack/bin/activateapi/ และรัน pip3 install -r requirements.txt เพื่อติดตั้งโมดูล Python ทั้งหมดที่จำเป็นสำหรับ APIdbcreds.py ในไดเร็กทอรี api/ และแก้ไขข้อมูลรับรองฐานข้อมูลตามต้องการ python3 app.py เพื่อรัน API บน http://localhost:8080 โค้ดเบสสำหรับ React UI สามารถพบได้ในไดเร็กทอรี ui/ เทมเพลตนี้ใช้ yarn เป็นตัวจัดการแพ็กเกจ เป็นสิ่งสำคัญที่นักพัฒนาจะต้องไม่ผสมตัวจัดการแพ็คเกจอื่นเช่น npm เมื่อเพิ่มโมดูลใหม่
โปรดทราบว่าแพ็คเกจเช่น react-bootstrap หายไปจากเทมเพลตนี้
yarn install เพื่อติดตั้งการขึ้นต่อกันทั้งหมดที่จำเป็น yarn start ทำงานในโหมดการพัฒนาhttp://localhost:3000 บนเบราว์เซอร์