Hi,

I'm currently building a web-application based on web2py, and I would like 
some insights and advices about its architecture.
Please, if this forum is not the good place to ask this kind of question, 
just tell me. And if you could point me to some resources/communities that 
could help me, I would be grateful!

Basically, my application will provide services to employees from company. 
Each employees from each company will have an account, and there will be 
different levels of accounts ('simple employee', coordinator, 
administrative staff,...).
I want the employees to be able to access (read/write according to its 
level account) only to the data of the company he belongs to, not from the 
other. For example, employee 1 from company A cannot see the profile from 
employee 10 from company B.
There won't be any link between users from different companies.

But now, I'm thinking about the global architecture of the application. 
Here are some ideas:
 * 1 application with 1 DB : the DB contains everything, and the 
application must enforce the isolation of the employees in their own 
company. I think this is possible with Auth, and groups, memberships and 
permissions.
 * 1 application with multiple DB : 1 new DB is created for each company. 
But I don't know if one instance of web2py can handle multiple DB.
 * 1 instance of the application and 1 DB for each company: All the data 
from the companies are isolated from each other by design. This kind of 
architecture seems to perfectly fit Docker : one container per instance of 
the application.

I think that these 3 architectures are possible and all of them have their 
own pros and cons. The first one is the first one I've thought about, it 
seems to be the most instinctive one. The last one is more isolated and 
more scalable, but I'm new to this kind of architecture.
And you'll certainly think about other possibilities.
Now, how do I choose the best architecture? Should I target first the speed 
of development of the first version of my application? Or should I think 
about the scalability as soon as possible? Other concerns? Is there an 
architecture that would fit better with web2py than another one?

I don't want you to tell me which on to choose (it'll certainly depend on 
the number of users/companies, the load of the server, the size of the 
data,...) but can you give me some advices, ideas, thoughts based on your 
own experience in web-developpment? Or some link to online resources, 
books,...

Thanks a lot for your help!

-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to