Best way to organise a large application.

Hey folks i am starting to build a very large complex application and at this stage i would like to start it with Ruby on Rails 3.0 as soon as the master release is ready. Now the application would to me get very complex following the standard MVC pattern compared to how i would it normally be organised by guys a little more versed in Rails development.

I was looking into Zend Framework and there way was very logical using something called HMVC where each part of the application is given its own module with its own MVC and there is a master MVC for application wide code.

I am much happier working with Ruby however as its nicer to work with the language and easier on my text-speach reader.

David Roy wrote:

Hey folks i am starting to build a very large complex application and at this stage i would like to start it with Ruby on Rails 3.0 as soon as the master release is ready. Now the application would to me get very complex following the standard MVC pattern compared to how i would it normally be organised by guys a little more versed in Rails development.

I was looking into Zend Framework and there way was very logical using something called HMVC where each part of the application is given its own module with its own MVC and there is a master MVC for application wide code.

I am much happier working with Ruby however as its nicer to work with the language and easier on my text-speach reader.

What's your question? How do you know the structure of the app at this stage?

Best,

Well just now using Zend Framework i would structure my app based on my documentation and my experience in the following way.

application   layouts   configs   models   controllers   modules     default       models       views       controllers     forum       models       views       controllers     stories       models       views       controllers     blog       models       views       controllers     gallery       models       views       controllers

This allows the sub applications to work with the main application, now i am not quite sure how i would do something similar to logically separate the sub applications with Rails.

David Roy wrote:

Well just now using Zend Framework i would structure my app based on my documentation and my experience in the following way.

application   layouts   configs   models   controllers   modules     default       models       views       controllers     forum       models       views       controllers     stories       models       views       controllers     blog       models       views       controllers     gallery       models       views       controllers

This allows the sub applications to work with the main application, now i am not quite sure how i would do something similar to logically separate the sub applications with Rails.

You're assuming that you'd want similar structures in Zend and Rails. That may or may not be true.

You *can* do a structure with Rails such as you've described. Whether you *should* depends on your application.

Best,

What i would be the standard for this type of app, i don't want say the forum categories and the stories categories stepping on each others toes or worse being impossible for my junior to spend 20 minutes looking for the sub application he is working on.

Please quote when replying -- otherwise it's impossible to follow the discussion.

David Roy wrote:

What i would be the standard for this type of app, i don't want say the forum categories and the stories categories stepping on each others toes or worse being impossible for my junior to spend 20 minutes looking for the sub application he is working on.

Depends on the individual application. Namespaces, plugins, and engines are all possibilities; so is something like the eco_apps gem. But I'd advise you not to set up the whole big structure at the beginning -- rather, refactor as the application grows. Otherwise you'll wind up with a small application collapsing under the weight of a big-application infrastructure.

Best,