2016-07-08 9 views
3

このトピックに関する関連するスタックオーバーフローに関する10の質問は、類似の質問の周りに散らばっています...私は架空の "todo"応用。私はコード(JavaScript)を学んでいて、私はロードブロッキングを打っています。私の "情熱"プロジェクトは、私の学習を維持するのはかなり複雑で、個人的な旅行の問題を解決します。ある日、私は返すことができれば嬉しいです!ここでマルチユーザのpouchdb/coucdbアプリケーションを構築する方法と認証

は架空のアプリです:

このアプリはオフラインで最初のアプリは、ユーザーがログインして、独自のリストを作成できるようになるイオン2を使用して構築されます「ドスへと。」これらは、携帯電話とデスクトップからアクセスし、同期する必要があります。また、ユーザーは、他のユーザーの "Todo"リストをコピーできるコミュニティとToDoリストを共有できる必要があります。アプリは、ユーザーが「歯を磨く」や「バットマンのコレクションをチェックする」のように最もよくやっていることを照会することもできるはずです。また、ユーザーはソーシャルネットワークのログイン(Facebook、twitter、googleなど)を使用できるようにする必要があります。

1)どのようにpouchdb/couchdbデータベースを構成しますか? couchbase/cloudantを開く。

データベースはユーザーごとですか?ロールごとにデータベースですか?それは誰にとっても1つのデータベースですか(これにはセキュリティ上の問題があります)。

2)各クライアントのpouchdbデータベースをクエリ用の1つの大きなデータベースに結合すると仮定するのは正しいですか?

3)NodeJSバックエンドまたはサーバーを使用する必要がありますか?

4)認証にAuth0またはStormpathを使用できますか?

私は約5日間研究しており、これを理解することはできません。私は本当にすべての助けに感謝します。

編集:これは、私がBluemixで動作すると思われる認証を除いて、私が必要としていることを説明していると思いますか?

https://cloudant.com/blog/replication-with-cloudant-pt-3/#.V38hxpMrJE6

思考?

答えて

1

あなたは「pouchdb認証」を使用してユーザー認証を管理することができます(https://github.com/nolanlawson/pouchdb-authentication

あなたはCouchDBの「_user」データベースで認証し、ユーザーのメタデータのための「ユーザー」ファイルを作成し、ユーザーごとにデータベースを作成することができます

ユーザーデータベースごとにユーザーとロールを作成し、ドキュメントに関連するユーザーとロール(ユーザーの「ToDo」リスト)を調整する「デザインドキュメント」を作成できます。

PouchDBの "検索プラグイン"は、それらを使用して開始するのに良い方法です(https://github.com/nolanlawson/pouchdb-quick-search)。これは簡単に見つけることができます。

ビルドしているアプリにPouchDB/CouchDBを使用しています。私がPerlでやっているサーバ側でやる必要があること。 PHPはより良いサポートオプションかもしれませんが、私はPerlが好きで、CouchDbとインターフェースを取るいくつかのperlモジュールがありますが、私はPerl内でCurlを使う必要があります。

"各クライアントのpouchdbデータベースを1つの大きなデータベースに結合してクエリを実行すると仮定するのは正しいですか?

私はそれについて知らない。すべてのToDoリストを1つのデータベースに入れて、すべての人が簡単に共有できるようにしたいのでなければ、私の最初の勘違いは嫌です。ユーザーのToDosをユーザーデータベースに保管しておくと、ユーザーがより細かい共有を管理する方が簡単だと思います。

+1

私は "pouchdb-authentication"をチェックアウトしました。私は "superlogin"(https://github.com/colinskow/superlogin)を使って似た_userデータベースを作成し、ユーザーデータベースを作成しました。それにはたくさんのオプションもあります。そのPouchDB検索プラグインを試してみると、CouchDBのバージョンがあるようです。私はちょうど考えていた、私はそのプラグインについて読んだ後に共有部分をオフラインで処理する方法を知らない。そのため、ユーザーが検索に接続するようメモする必要があります。 – dhndeveloper

+0

クラウドはエンボイと呼ばれるものに取り組んでいます。これは全体的な構造についての私の質問に対処しますが、初期ベータ版(https://medium.com/offline-camp/scaling-offline-first-with-envoy-ada42d130cfc#.q7t4wbcmt)です。私は将来それを試みるかもしれない。 couchdbの貢献者は、ユーザーごとに1 dbを作成してから、フィルタリングされたレプリケーションを実行して共有データベースを作成するように指示しました。 – dhndeveloper

+0

私は "フィルタリングされた複製"に精通していないので、それを調べなければなりません。データベースの「セキュリティ」のユーザー権限をデータベースに設定することもできます。それはかなり簡単で、私は管理タスクのためのアクセスを提供するためにやってしまった。 –

関連する問題