I am planning to begin working on my first personal project this June: a community about students. What I want to have is a wiki, full with information about universities, a forum where people can discuss and a blog with news, articles, etc, all three of them integrated to eachother.
Now, the way to go seems like wordpress+mediawiki+some forum software but I have been having these thoughts about giving it a try and writing my own CMS. I have some RoR and PHP knowledge but certainly not to the point where I can write my own CMS, especially entirely from scratch.
How much time do you think it would take me to achieve it? I think/estimate I can spend 3 to 5 hours daily working on it and I want the whole site up and running by the end of August (which gives me about 300 hours of work, as I am also planning to spend some time just…doing nothing! :P).
The question is, is it worth it? Is it going to help me improve my programming skills?
What you shall do is up to your own discretion, but what you should do is implement something like Drupal.
Drupal is a CMS which is intended to be used for community sites. It’s not the easiest system to understand and use, but it’s very customizable.
Here’s some references that you could use to get started learning about Drupal: http://www.packtpub.com/drupal/book
http://drupal.org/node/367131
Whenever you have to choose between writing something for yourself and using existing software there are four key pieces of information you need to account for.
If it’s not very complex, nothing else really matches your needs well, it would be cheap to create (in time and money) and you don’t need it immediately then go ahead and do your own thing.
Otherwise, jump on board one of the existing open source CMS’s and start contributing there. Not only will you get great feedback from experienced programmers, but you’ll be part of some really awesome software.