مثال على حل برنامج التجارة الإلكترونية / البيع بالتجزئة الذي يوضح قوة ومرونة 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
بمجرد انتهاء vagrant من التزويد، أدخل ssh في المثيل:
vagrant ssh
يجب أن تجد أن MongoDB قد تم تثبيته وتشغيله. يجب أن تجد أيضًا أنه تم إنشاء قاعدة بيانات ومجموعة من المجموعات مع بيانات الاختبار.
لاستخدام أي من واجهات برمجة التطبيقات أو طرق مصادقة OAuth المضمنة، ستحتاج إلى الحصول على بيانات الاعتماد المناسبة: معرف العميل، أو سر العميل، أو مفتاح واجهة برمجة التطبيقات، أو اسم المستخدم وكلمة المرور. سوف تحتاج إلى المرور عبر كل مزود لإنشاء بيانات اعتماد جديدة.
تحديث 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 - انقر على **إنشاء معرف العميل** زر - انسخ وألصق مفتاحي *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 مزودًا بواجهة برمجة تطبيقات تمكنك من الاستعلام عن قاعدة بيانات MongoDB وإدارتها. إذا كنت ترغب في مراجعة هياكل البيانات الداخلية لاكتشاف كيفية بناء كتالوج المنتج باستخدام منهجية تخزين البيانات المستندة إلى المستندات في MongoDB، فإن الطريقة الرائعة للبدء هي استخدام Postman. باستخدام Postman، يمكنك إنشاء الطلبات بسرعة وحفظها لاستخدامها لاحقًا وتحليل الردود المرسلة بواسطة واجهة برمجة التطبيقات. يمكن لـ Postman تقليل الوقت المطلوب بشكل كبير لاختبار واجهات برمجة التطبيقات وتطويرها. يتكيف Postman بشكل جيد مع المطورين الأفراد أو الفرق الصغيرة أو المؤسسات الكبيرة.
للاستفادة من برنامج Postman، بمجرد تثبيته، ما عليك سوى تحميل عنوان url الخاص بواجهة برمجة التطبيقات (API) في Postman. على سبيل المثال، لمراجعة مجموعة المنتجات إذا كنت تستخدم التثبيت المستند إلى vagrant، استخدم عنوان url التالي في postman:
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