Having your requirements strictly laid out will be the most important asset to yourself when the time comes to start coding this. That will determine whether you can use drupal/joomla/etc or whether it will need to be coded from scratch. Once you have requirements, talk to a good architect to flesh out the plan and any details.