一个示例电子商务/零售软件解决方案,展示了 MongoDB 的强大功能和灵活性。
MEANStore 利用 vagrant 来提供运行 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 已安装并正在运行。您还应该发现已经创建了一个数据库和一组包含测试数据的集合。
要使用任何包含的 API 或 OAuth 身份验证方法,您需要获取适当的凭据:客户端 ID、客户端密钥、API 密钥或用户名和密码。您将需要通过每个提供商来生成新的凭据。
MEANStore 1.0 更新:我为所有 API 示例提供了虚拟密钥和密码,以便您更快地启动和运行。但当您准备好部署应用程序时,请不要忘记使用您的凭据更新它们。
- 访问 Google Cloud Console - 单击 **Create Project** 按钮 - 输入 *Project Name*,然后单击 **Create** 按钮 - 然后单击侧边栏中的 *APIs & auth* 并选择 *API* 选项卡- 单击 *社交 API* 下的 **Google+ API**,然后单击 **启用 API** - 接下来,在侧边栏中的 *API 和身份验证* 下,单击 *凭据* 选项卡 - 单击 **创建新客户端 ID ** 按钮 - 选择 *Web 应用程序* 并单击**配置同意屏幕** - 填写必填字段,然后单击 **保存** - 在 *创建客户端 ID* 模式对话框中: - **应用程序类型**:Web 应用程序 - **授权 Javascript 来源** :http://localhost:3000 - **授权重定向 URI**:http://localhost:3000/auth/google/callback - 单击 **创建客户端 ID** 按钮 - 复制并粘贴 *客户端 ID* 并*客户端秘密*密钥写入`.env`注意:当您准备部署到生产环境时,请不要忘记将新网址添加到Authorized Javascript origins和Authorized redirect URI ,例如http://my-awesome-app.herokuapp.com
和http://my-awesome-app.herokuapp.com/auth/google/callback
分别为http://my-awesome-app.herokuapp.com/auth/google/callback
。其他提供商也是如此。
注意:成功登录 Facebook 后,用户将被重定向回主页,并在 URL 中附加哈希#_=_
。这不是一个错误。有关处理方法,请参阅 Stack Overflow 讨论。
MEANStore 附带一个 API,使您能够查询和管理 MongoDB 数据库。如果您想查看内部数据结构以了解如何使用 MongoDB 基于文档的数据存储方法构建产品目录,一个很好的开始方法是使用 Postman。使用 Postman,您可以快速构建请求,保存它们以供以后使用,并分析 API 发送的响应。 Postman 可以极大地减少测试和开发 API 所需的时间。 Postman 同样适用于个人开发人员、小型团队或大型组织。
要利用 postman,安装后,只需将 API 的 url 加载到 postman 中即可。例如,如果您使用基于 vagrant 的安装,要查看产品集合,请在 postman 中使用以下 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