Hi, I'm the vice president and webmaster for the Vintage BMW Motorcycle Owners club. I've been developing with Drupal for 3 years now. A year ago I took our club's aging hand-coded website + PHPBB 2 forum and converted it to Drupal. My goals here were to get the club's roster, which had been maintained in a spreadsheet, up onto the web where our dispersed board of directors and volunteers could make use of it. I also wanted to have a single login for members, so they could access the forum, update their profile and purchase club paraphernalia conveniently. This last item required, of course, that we have an E commerce solution.
We have a lot of content we want to get out to interested parties. So we have content types for news, videos, rallies and events, links to vendors and service providers of interest, a bibliography, a list of BMW bike models searchable by VIN or engine number, of course the products we sell in our store and a members photo gallery.
An important goal was that the site be easy to update by nontechnical users. Many of our board and volunteers are not particularly computer savvy, but they needed to be able to create and update content easily. And the demographics of our membership are not good for computer usage in general, so the photo galleries and forum areas had to be easy to use.
With Drupal I could make this happen, and do some very cool things. For example, our Rallies & Events page, which uses Views, Location and Views Attachment, not only displays the events coming up, but shows them on a Google Map. The Geocoding in Location works well. Behind the curtain, we have user roles for each of these different areas, so a volunteer can be given rights to edit the rallies items but not news or the store.
I built the site using the Zen theme, and then created a custom subtheme. I liked that Zen's blank slate never got in my way, and I was able to do a couple of interesting things with it. First off, the actual content of the page is sent first, with all of the headers, footers and sidebar stuff being emitted after the main page content. Also, the header is fixed at the top of the screen, and the content scrolls underneath it. My visitors never lose context of the site they're on, the breadcrumb and if they're logged in, their username and membership number. Other touches included using the TextImage module to produce page headers using the club's signature font.
Our online store makes use of Ubercart and connects directly to our payment gateway. We sell new memberships and renewals, as well as T shirts and back issues of our magazine. The memberships are implemented as user roles. Because we allow nonmembers to participate in the public part of our forums, we actually have four mutually exclusive roles that all users must fit into: anonymous, registered public user, current member and lapsed member. A custom module provides some glue here and also assigns new membership numbers. Advanced Profile lets me display some membership information for member postings in our Advanced Forum, so you can see who is a paid member and who isn't at a glance.
Because we have so many different types of content, we're using nearly 4 dozen cck fields and well over 100 individual contributed modules (this counts all of the pieces inside packages like views, cck, panels and especially Ubercart). We initially continued to host the site on GoDaddy's shared hosting, but it got slower and less reliable until, after about 6 months, it just wasn't really usable. (Seemed like we were getting big timeouts inside GoDaddy, between the host server and the database server, or the database server itself was very slow in processing requests.) We stepped up to a VPS server at GoDaddy (our cost went from about $5/mo to $24/mo), and the site has been very reasonable since then.
In fact, recently a member posted a great video on YouTube, and then linked to it from Reddit.com, linking to us in the same post. That day we got a 20X spike of our normal site traffic (as seen with Google Analytics) and yet, performance didn't seem to change.
I personally built the site over about 3 months. Some of this time was spent trying out different modules to see what suited my needs. I still wonder if it wouldn't have been better to use Organic Groups instead of, or in addition to, Advanced Forum. But I didn't want to get too far ahead of what I perceived my visitors abilities would be.
I would be happy to answer questions and am very interested in any feedback.