Rails Architecture,big app or multiple small app

Hi guys :slight_smile:

I have a question, i have a big program to code, its a issue tracking + time tracking + alot of others tracking that my client needs, the question:

  - make a big rails application   - split the application into smaller applications with the same database   - split the application and the database

The client want to offer the full app (issue, time,...) and want to offer separated parts of the program too like the issue tracking, time tracking,... The data from modules are very integrated, ex, in a issue, i need know the time spent on it and know the files attached to it, 3 diff apps here.

ps: im coding in rails, but dont mean that i need do it in rails, can be other framework if would be more easy like merb, ramaze,...

Thanks :wink:

Personally I prefer small applications with separate databases. Easier to maintain, easier to scale one part of the app without doing the same to others etc... Exactly how practical that is can depend on the degree of interapplication communication you need. Things like ActiveMessaging or just an internal API which the apps use to request data off each other can be useful


what is the difference of activeresource and this activemessaging? i dont know activemessaging...

have any pros comparing with activeresource?

thanks again :slight_smile:

Unless you are insanely huge, one app will always be faster. This is because there is no translation to get the other resources.

Plus, if you do one big app for the customer, then integration between the parts is a snap, with a decent database (say Postgres) even if your app gets big you can partition tables and do all sorts of things to scale.

Multiple small apps increase your complexity, and if it is just you designing, then you probably want to go the one app route.