To further add to what flishess said, any CMS really would be ideal for you to get started ie Wordpress, Joomla, Drupal, Magento but you will also need to be dedicated towards the project to ensure you bring it to its full potential. I would recommend you do research on some of those CMSs to determine which one might be the right fit for this project and then jump into it as a hobby. When you get the hang of how things function then you may want to further develop it commercially to gain a profit. Developers do the same thing, the only difference is we call it demo and live sites. We test on our demo / dev sites and then bring the project to life on our live servers when we are comfortable when the testing phases are complete.
With regards to a budget and hiring a programmer, each programmer is different in skill set and this reflects in their budget. A seasoned professional will charge you a premium price but will get the work done faster and with less errors. A starting programmer will charge you a low price but may take much longer to achieve the desired results. It all depends on your patience level and budget of course.