Hi everyone, I'm working on creating a site that functions similar to digg.com (please no "no more digg clones" remarks please! ). One thing I really like about digg is there URLs are very nice to read and I would like to emulate that without having a lot of actions spread out all over my application.
So in my app I have three main resources:
Users, Tags, and Items (equivalent of digg's bookmarks)
I want to create URLs that look like this:
/views/:when (where :when can be (today|week|month|year|upcoming) )
/tags/:tags/:when (:when same as before and :tags like rails+ruby+hannson)
/users/:username/:type ( where :type can be (voted|submitted|commented|homepage)
/users/:username/friends/:type (:type same as before)
I guess some obvious other ones are /users/:username/tags/:tags/:when and /users/:username/friends/:tags/:when
So given this URL design system, what kind of routes would one need and approximately how many actions (spread out over how many controllers - should I just have them all in the ItemsController)? I'm currently thinking of having four actions under the ItemsController (tags, view, user, userfriends), but I'm not sure if this is enough or too many. Because other than the top tab/subtab part of the view everything beneath that is the same (summaries of the items).
Apologies on the long post, I'm the kind of person that if I don't have something figured out before I jump in I kind of get into analysis-paralysis mode so even some confirmation that this system makes sense would really help!