Topic: Need help determining estimated hours required to complete project

Hello everybody.  I am new to Ruby on Rails, and I have chosen to use it for my final project to graduate with a CS degree.  I want to make a website for a non-profit organization for my project.  I know what I want to do, but I need to give my advisor an estimate of how many hours it will need to complete it.  I have no idea how to even start to figure this out so I hope someone can help me out.

Here is a general outline of tasks I want on the website:

Message board
Blog
Embedded video
Photo gallery
Archived news
E-commerce store
Guestbook
Counter
Polls
Applications - games, instant messenger type thing (if I have time)

I would really appreciate it if someone can break these tasks down and suggest how long each would take or everything together.  Thanks in advance.

Re: Need help determining estimated hours required to complete project

Only one person on the project?

Blog + ecommerce + embedded videos = 1 year development, fulltime job for something serious used in production for real.

Your project is too big! You won't be able to do all the stuff you want or most of the parts will be shitty. That's the problem in programming, people want to do too many things, and therefore most projects fail.

Read "Getting Real" from 37signals, it's really interesting.

Re: Need help determining estimated hours required to complete project

The project needs to be at least 60 hours of work.  What could be done in this amount of time?  Any other opinions would be appreciated.  Thanks.

Re: Need help determining estimated hours required to complete project

60 hrs work? That's 1 week of fulltime work... You'll only be able to correctly complete 1 feature. Writing a real blog engine doesn't just take 15 minutes.

I'd say, work on a message board, and if you code it well, you could open source it on github and have the community work on it. Rails lacks a good forum engine.

Re: Need help determining estimated hours required to complete project

I agree, this is a rather aggressive project. Can you break it down a little more?

Most customers who want a blog on their website won't care if you wrote it from scratch or used a module and integrated it. Same for messageboards, etc. Obviously a CS final project requires you to create a lot of original code, however the real world will let you use available libraries. Can you still meet your requirements by integrating disparate components?

Other features, such as a guestbook and counters are trivial. Something like counters can be done with Google Analytics.

Embedded video is also a mixed bag, you can snarf a snippet and embed a youtube video in anything. Doing your own embedded video from upload to display is an entire project on its own.

Things like blogs, galleries, and messageboards already exist as separate components (not necessarily in Rails) that can often be integrated into any site.

So figure out if you can use outside components and still meet your requirements. If so, you then need to figure out what you can get elsewhere and estimate the time to integrate. If not then you need to start cutting features.