【问题标题】:Is CouchDB right choice for my App?CouchDB 是我的应用程序的正确选择吗?
【发布时间】:2015-03-18 11:09:27
【问题描述】:

我需要为销售团队开发一个Ionic(phonegap) 应用程序。 基本上流程是:

  • 销售代表去找客户
  • 客户给出产品订单和每个产品的数量。
  • 销售代表creates a list on the smartphone app.
  • 应用程序与CouchDB 同步数据并将GCM push 发送到Shop Admin
  • 管理员手动处理订单

我尝试了 Cloudant.com 的基本待办事项列表,它真的很快。我需要知道是否可以实施基于角色的身份验证?我在正确的轨道上吗?

谢谢。

【问题讨论】:

  • 您是否试图阻止销售代表查看其他销售代表的订单,并且您希望商店管理员查看所有订单?
  • 是的,这就是我想要的。这个堆栈适合我的应用吗?
  • 您尝试了哪个 TODO 演示应用程序?有几个,例如pouchDBcloudant android
  • 我试过这个pouchdb.com/getting-started.html。试图找到像 auth 这样的高级任务的例子。谢谢。

标签: android cordova couchdb ionic-framework cloudant


【解决方案1】:

您可以考虑的一个选项是每个销售代表都有一个数据库。销售代表数据库可以复制回商店管理员可以访问的主数据库。在使用 GCM 推送更改订单的商店管理员时,您需要解决销售代表数据库和主数据库之间复制的延迟问题。

有关每个设备用户拥有多个数据库的讨论,请参阅Is it good practice to give each CouchDB user a separate database?

Cloudant TODO demo application 是一个原生安卓应用程序。如果您想从 javascript 应用程序中获得类似的功能,您可以使用 pouchdb。 pouchdb 复制文档是here

【讨论】:

    【解决方案2】:

    您可以从Smileupps App Store查看Chatty Couchapp Tutorial应用程序

    这是一个纯沙发应用,仅依赖 CouchDB 作为其后端。该教程仍在进行中,但 couchapp 已完全正常运行,您可以下载其源代码。

    它使用单个 CouchDB 数据库实现基于角色/用户的读/写 ACL。这样您就不必设置 N 个复制,其中 N 取决于您的用户数量。您只有一个包含所有数据的数据库,易于动态查询(带有临时视图)和维护操作。当然,您可以决定增加数据库的数量,具体取决于您的数据类型和用例。

    单个 couchapp 包含 前端、管理仪表板和服务器端 API 实施业务规则的所有必要代码

    用户根据其角色具有对不同部分的不同访问权限。即他可以访问前端网站,但不能访问管理仪表板。

    您可以安装免费试用版,然后使用Smileupps deployment tools 下载源代码,进行更改、上传并检查您的更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多