Pricing for a website is difficult to estimate, as it depends so much on what your goals are. For example, a basic Drupal installation, complete with domain name registration, hosting account setup, and basic configuration can be completed in about an hour. However, there is really no chance that this site will meet your needs.
A site for a high school class reunion was done in about 16 hours. The appearance of the site was based on a template rather than being made from scratch, and a number of features were created to make the site fit their needs. They're very happy with the result. Former students are uploading pictures and their life stories, there are maps to local hotels, etc. It's working well for them and was reasonable in cost. Because of Drupal's modular nature and flexibility, their needs were met without thousands of dollars worth of custom code being written. You can see the result at http://bowenjanuary65.com. Personal stories are only available to logged in users, so they are not visible to the general public.