ตัวอย่างโซลูชันซอฟต์แวร์อีคอมเมิร์ซ / ค้าปลีกที่แสดงให้เห็นถึงพลังและความยืดหยุ่นของ MongoDB
MEANStore ใช้ประโยชน์จากคนเร่ร่อนเพื่อมอบสภาพแวดล้อมเสมือนจริงที่ใช้งานได้เต็มรูปแบบด้วยการทำงานของ MEANStore / MEANMart
git clone https://github.com/mrlynn/meanstore.git
cd meanstore
vagrant up
ณ จุดนี้ แอปพลิเคชันควรจะเปิดใช้งานและสามารถเข้าถึงได้จากแล็ปท็อป/เดสก์ท็อปของคุณโดยการเปิด url http://localhost:30001
vagrant ssh # access the vagrant instance
sudo su - # become super user
cd /home/vagrant/meanmart/meanstore # change to project directory
npm run dev # run the application in developer mode
ณ จุดนี้ แอปพลิเคชันควรจะพร้อมใช้งานและสามารถเข้าถึงได้จากแล็ปท็อป/เดสก์ท็อปของคุณโดยการเปิด URL http://127.0.0.1:30000 ขึ้นอยู่กับการตั้งค่าเฉพาะในไฟล์การกำหนดค่า .env.hackathon ของคุณ
git clone https://github.com/mrlynn/meanstore.git
cd meanstore
npm install
# unicode doesn't install nicely first pass - try again
npm install unicode
# install faker to generate data
npm install faker
# Set environment
export MONGODB_URI="mongodb://127.0.0.1:27017/hackathon"
# Generate some data...
node data/fake-refrigerators.js
node data/fake-televisions.js
node data/fake-cameras.js
node data/fake-apparel.js
# Create the categories...
node data/category-seeder.js
# Now run it...
npm run dev
เมื่อคนจรจัดเสร็จสิ้นการจัดเตรียม ให้ ssh เข้าไปในอินสแตนซ์:
vagrant ssh
คุณควรพบว่า MongoDB ได้รับการติดตั้งและกำลังทำงานอยู่ คุณควรพบว่ามีการสร้างฐานข้อมูลและชุดคอลเลกชันพร้อมข้อมูลทดสอบ
หากต้องการใช้ API หรือวิธีการตรวจสอบสิทธิ์ OAuth ที่รวมอยู่ คุณจะต้องได้รับข้อมูลรับรองที่เหมาะสม: รหัสไคลเอ็นต์ ความลับไคลเอ็นต์ คีย์ API หรือชื่อผู้ใช้และรหัสผ่าน คุณจะต้องผ่านผู้ให้บริการแต่ละรายเพื่อสร้างข้อมูลรับรองใหม่
อัปเดต MEANStore 1.0: ฉันได้รวมคีย์จำลองและรหัสผ่านสำหรับตัวอย่าง API ทั้งหมดเพื่อให้คุณพร้อมใช้งานเร็วยิ่งขึ้น แต่อย่าลืมอัปเดตด้วย ข้อมูลประจำตัวของคุณ เมื่อคุณพร้อมที่จะปรับใช้แอป
- ไปที่ Google Cloud Console - คลิกที่ปุ่ม **สร้างโครงการ** - ป้อน *ชื่อโครงการ* จากนั้นคลิกที่ปุ่ม **สร้าง** - จากนั้นคลิกที่ *APIs & auth* ในแถบด้านข้างและเลือกแท็บ *API* - คลิกที่ **Google+ API** ใต้ *Social APIs* จากนั้นคลิก **Enable API** - ถัดไป ใต้ *APIs & auth* ในแถบด้านข้าง คลิกที่แท็บ *Credentials* - คลิกที่ **Create new Client ID ** ปุ่ม - เลือก *แอปพลิเคชันเว็บ* และคลิกที่ **กำหนดค่าหน้าจอยินยอม** - กรอกข้อมูลในฟิลด์ที่จำเป็น จากนั้นคลิกที่ **บันทึก** - ในกล่องโต้ตอบโมดอล *สร้างรหัสลูกค้า*: - **ประเภทแอปพลิเคชัน**: เว็บแอปพลิเคชัน - **ต้นกำเนิด Javascript ที่ได้รับอนุญาต**: http://localhost:3000 - **URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต**: http://localhost:3000/auth/google/callback - คลิกที่ **สร้าง ID ไคลเอ็นต์** ปุ่ม - คัดลอก และวางคีย์ *Client ID* และ *Client Secret* ลงใน `.env` หมายเหตุ: เมื่อคุณพร้อมที่จะปรับใช้กับการใช้งานจริง อย่าลืมเพิ่ม URL ใหม่ของคุณไปยัง ต้นกำเนิด Javascript ที่ได้รับอนุญาต และ URI การเปลี่ยนเส้นทางที่ได้รับอนุญาต เช่น http://my-awesome-app.herokuapp.com
และ http://my-awesome-app.herokuapp.com/auth/google/callback
ตามลำดับ เช่นเดียวกับผู้ให้บริการรายอื่น
หมายเหตุ: หลังจากลงชื่อเข้าใช้ด้วย Facebook สำเร็จ ผู้ใช้จะถูกเปลี่ยนเส้นทางกลับไปที่หน้าแรกพร้อมกับแฮชต่อท้าย #_=_
ใน URL มัน ไม่ใช่ ข้อผิดพลาด ดูการสนทนา Stack Overflow นี้เพื่อดูวิธีจัดการ
MEANStore มาพร้อมกับ API ที่ช่วยให้คุณสามารถค้นหาและจัดการฐานข้อมูล MongoDB ได้ หากคุณต้องการตรวจสอบโครงสร้างข้อมูลภายในเพื่อดูว่าจะสร้างแคตตาล็อกผลิตภัณฑ์โดยใช้วิธีการจัดเก็บข้อมูลแบบเอกสารของ MongoDB ได้อย่างไร วิธีที่ดีในการเริ่มต้นคือการใช้บุรุษไปรษณีย์ ด้วยบุรุษไปรษณีย์ คุณสามารถสร้างคำขอได้อย่างรวดเร็ว บันทึกเพื่อใช้ในภายหลัง และวิเคราะห์คำตอบที่ส่งโดย API บุรุษไปรษณีย์สามารถลดเวลาที่ต้องใช้ในการทดสอบและพัฒนา API ได้อย่างมาก Postman สามารถปรับเปลี่ยนตัวเองให้เหมาะกับนักพัฒนารายบุคคล ทีมขนาดเล็ก หรือองค์กรขนาดใหญ่ได้เป็นอย่างดี
เพื่อใช้ประโยชน์จากบุรุษไปรษณีย์ เมื่อคุณติดตั้งแล้ว เพียงโหลด URL สำหรับ API ลงในบุรุษไปรษณีย์ ตัวอย่างเช่น หากต้องการตรวจสอบคอลเลกชันผลิตภัณฑ์หากคุณใช้การติดตั้งแบบ Vagrant ให้ใช้ URL ต่อไปนี้ในบุรุษไปรษณีย์:
http://localhost:30000/api/products
นี่จะแสดงคอลเลกชันแค็ตตาล็อกผลิตภัณฑ์ทั้งหมด
[
{
"_id": "584aecaaf580422022aea4fb",
"code": "ref1099",
"name": "Generic Plastic Computer Refrigerator",
"title": "Intelligent IVORY Generic Plastic Computer Refrigerator",
"description": "Est enim aut.",
"taxable": true,
"shipable": true,
"price": 73300,
"Product_Group": "Refrigerator",
"category": "Refrigerator",
"imagePath": "/img/samsung-refrigerator.jpg",
"__v": 0,
"salesYearMonth": [],
"salesYTD": [],
"usersBought": [],
"categories": [],
"update": "2016-12-09T17:40:58.033Z",
"created": "2016-12-09T17:40:58.033Z",
"options": [],
"Attributes": [],
"likes": []
},
...
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature