พื้นที่เก็บข้อมูลนี้มีเทมเพลตเว็บแอปพลิเคชันแบบสแต็กเต็มรูปแบบที่ทำงานบนสแต็กโซลูชัน 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/activate
api/
และรัน 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
บนเบราว์เซอร์