Hi Ying As far as I can tell, you would have to put in a significant amount of work on your custom authentication either way (since the "app users" would have much more restricted access controls than "platform users"), whether or not you use the _users db for "app users". Technically, you can make it work either way.
If I were you, I would absolutely refrain from having multiple couchdb instances. That just seems like too much maintenance overhead. I would keep the "platform users" in the _users db. And I would create a custom logic for "app users" and contain them in the application's database. Hope this helps. On Fri, Oct 9, 2015 at 10:36 PM, Ying Bian <[email protected]> wrote: > Hi all, > > I’m building a platform where users (platform users) can create their own > customize “app”s. > > In my original architecture I was thinking to assign each “app” a > dedicated database in a > shared couchdb instance. With that app database, the app owner can store > whatever > he needs to store, including the app’s own users (app users). Note that > "app users" are > different from "platform users”: platform users are just app owners who > create apps, while > app users are the consumers of a specific app, which should be isolated > from app to app. > > As in couchdb there is only one _users table per couchdb instance, I am > wondering whether it > is a better architecture if I assign each app one couchdb instance instead > of a database? Then > I can leverage the authentication & authorization logic provided by > couchdb. Otherwise I would > have to have another authentication & authorization system and need to > keep it consistent with > that in couchdb. > > What do you think of this? Is it a normal setup to have many couchdb > instances? I assume I > would need to consult with some technology like docker to do this. How > complex is it and > what kind of additional issues do I need to address? > > Your opinion is very much appreciated. > > -Ying -- *Vishesh Mittal* Co-founder, Plato Medical platomedical.com +65 9068 5643
