I am developing 2 apps for 2 separate clients, and a 3rd for myself. All 3 apps will have an address book, emailing, and user authentication. Finally, I want the apps to be created "modular" so that I can add (or remove) modules as the are needed.
I have watched the Mountable Engines Railscast and it looks like what I need, yet I am still unclear on the following:
- How do you develop each engine module (user authentication, emailing, address book) separately without a common base application?
- How do you develop the address book module when it requires user authentication, which is a separate module altogether?
I'm guessing that you develop the user authentication first, and include that in the dummy app of the engine module, but I'm getting confused with the namespacing of the engine.
It might be useful to note that I come from a C# background and I am new to web-development.
Thanks in advance for your help.
People have already written authentication and emailing plugins. For most apps, the only work left to be done for those modules is customization.
You might want to write a engine to share some of the customizations and to share some of the address book functionality. In in that case, you can consider developing an example app which has as little custom code as possible to clearly define the address book api.