It's not that difficult to achieve. I'm not sure about any third-party software for this purpose (there may be some).
You would create a form and a php handler for the form to stick the data into the database. You could then create various templates to extract the information from the database and show it in various different ways.
Getting the information on Facebook isn't hard either. All you need to do is create a script to make an RSS feed, and in your Facebook account you add the route to the feed on your website. Facebook then updates (I think every half hour). I've heard that Twitter is a bit more complicated, but one of the guys I work with has done one for Twitter too, so it's not too hard.
Hope it helps.