Let's say you already "know" what your client wants from you (i.e. you already did some analysis and have some clue about what are you supposed to deliver). What are the next steps you usually go through after this phase? In other words, what are the steps (in terms of preparation of the framework, plugins, repository, etc.) you do in the beginning of every RoR based application development?

+3  A: 

I have an empty Rails application with my can't-live-without plugins (haml & rspec in the main) and with Rails frozen to vendor/plugins. I've also modified configuration stuff to fit my environment. The whole thing lives in my svn repository. When I start a new project, I check out my starting point and continue from there. Usually by writing (or trying to remember to write) a test.

It only saves an hour or so, but not having to mess around with stuff I do infrequently (and thus have to look up) is a big plus.

EDIT: Whoops, I forgot to mention Bort which is much more comprehensive...

Mike Woodhouse
+1  A: 

So you're looking at wireframes, UMLs, thinking what next? Piston and rake are good for bulk-installing your favorite plugins (not sure how well piston works with git right now):


(git too)

these sites have open source/example / sample apps you can check out the repos

Gene T
+2  A: 

The first thing that we usually do here at work is to get a hosted virtual private server (VPS) as a development server (slicehost? whatever that fits your pocket) where you can ssh into and configure the following

  1. Setup up server combination of your choice (apache, lighttpd, nginx, thin, etc.)
  2. Setup ruby, rails, gems and plugins that you think you're gonna use
  3. Setup your database of choice
  4. Setup versioning software of your choice (git, mercurial, subversion, etc)
  5. Create a repository for your project and check out into your local machine
  6. Start coding, check in often and deploy often too for client testing

I think it's really worth getting VPS to deploy a test version of your application that your colleagues and client can do some user testing and issue a bug tracking ticket whenever they encounter some bugs that developers have overlooked. This will keep your client happy too when they constantly see incremental progress to their apps.

+1  A: 

Here's another starter app, similar to Bort:

Charles Roper