MongoDB のパワーと柔軟性を実証する e コマース / 小売ソフトウェア ソリューションの例。
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
この時点で、アプリケーションは起動して実行されているはずで、.env.hackathon 構成ファイルの特定の設定に応じて、URL http://127.0.0.1:30000 を開いてラップトップ/デスクトップからアクセスできるようになります。
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 にアクセスします。 - **プロジェクトの作成** ボタンをクリックします。 - *プロジェクト名* を入力し、**作成** ボタンをクリックします。 - 次に、サイドバーの *API と認証* をクリックし、*API* タブを選択します。 - *ソーシャル API* の下の **Google+ API** をクリックし、**API を有効にする** をクリックします。 - 次に、サイドバーの *API と認証* で *認証情報* タブをクリックします。 - **新しいクライアント ID を作成するをクリックします。 **ボタン - *Web アプリケーション* を選択し、**同意画面の構成** をクリックします。 - 必須フィールドに入力して、**保存** をクリックします。 - *クライアント ID の作成* モーダル ダイアログで: - **アプリケーション タイプ**: Web アプリケーション - **承認された JavaScript オリジン**: http://localhost:3000 - **承認されたリダイレクト URI**: http://localhost:3000/auth/google/callback - **クライアント ID の作成** をクリックしますボタン- *クライアント ID* と *クライアント シークレット* キーをコピーして `.env` に貼り付けます注:運用環境にデプロイする準備ができたら、新しい URL を承認された Javascript オリジンと承認されたリダイレクト 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 にハッシュ#_=_
が追加されてホーム ページにリダイレクトされます。バグではありません。これを処理する方法については、このスタック オーバーフローのディスカッションを参照してください。
MEANStore には、MongoDB データベースのクエリと管理を可能にする API が付属しています。 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