Hittage.com - Local business directory
Hittage.com is a review and recommendation site for local Canadian businesses. Users have the ability to leave reviews and vote for there favorite businesses in there area. I’ve summarized how I built the site, including the history, research, and the modules used in this write up.
http://www.hittage.com
I am hoping to get some feedback and recommendations on the usability of the site.
Goal
The motivation for building this site was to offer a community for Canadian’s to come and to be able to find legitimate local businesses and/or services and read recommendations other users have commented on. I am a firm believer in word of mouth, and survival of the fittest. Sites like Yelp and Insiderpages are available for American cities, but nothing was available for Canadian cities. And sites like Yellow Pages and BBB were not sufficient for Canadian’s to determine if the businesses they deal with are legitimate and honest.
History
I’ve been playing with Drupal for over a year, and this is my first drupal site. For a span of six months I researched several Content Management Systems including Share Point, DotNetNuke, Joomla, XOOP, and Drupal. Based on cost and community support I was able to narrow down my list to Joomla and Drupal. After extensive research and hands on development of the two, I picked Drupal and very happy that I did. The Drupal community is huge and very active, that can be seen by the extensive module contributions and forum activity.
Development Environment
As a professional software developer, I know the benefits and time savings of a proper development tools. The tools I have been using are XAMPP, PhpEd, MySQL Toad, and Unfuddle. I’ve been using Unfuddle to serve as my project management tool and source control repository. I have found Unfuddle to be an extremely valuable tool to manage tickets, defects, releases, and source control. I would recommend Unfuddle to anyone looking for a free project management tool and source control repository.
Module List
The site is built on Drupal 5.10, and many customized modules.
I have a total of 50+ modules used for the site, but the modules listed here would be considered the core:
- advanced_profile
- avatar_blocks
- apachesolr
- bio
- blocktheme
- buddylist
- captcha
- cck
- extra_voting_forms
- feedback
- flag_content
- gmap
- hierarchical_select
- imagecache
- kudos
- recaptcha
- share
- themesettingsapi
- votingapi
Lessons Learned
- I’ve been using PhpEd and it’s worth every penny. The IDE is very user friendly, and the real time debugger is one of the best I’ve worked with. Using PhpEd has helped me a lot in learning PHP and the Drupal framework.
- Deploying Drupal to a production environment from a development environment isn’t very smooth or seamless. Biggest challenge I had is with updates or upgrades to production, is the migration of the settings for each new module from development.
- Firebug is awesome for layout design and theming.
- If you have a problem with Drupal, chances are ten other people have had the same problem. The community is great to get questions answered, so be patient and google is your friend.

Very very nice
Job well done! The site looks clean and easy to navigate. Can you share with us how you created the "change city" feature?
Looks like
Looks like http://dev.iceburg.net/jquery/jqModal/ to me.
===
"Give a man a fish and you feed him for a day.
Teach a man to fish and you feed him for a lifetime." -- Lao Tzu
"God helps those who help themselves." -- Benjamin Franklin
"Search is your best friend." -- Worldfallz
Cool site
Hey nice site I also will like to know how you did that change city. Trying to figured it out but no luck!
Thanks for the
Thanks for the comments.
Yeah the other guy nailed it. It's JqModal (http://dev.iceburg.net/jquery/jqModal/) scroll down to the examples.
<a href="#" class="jqModal">view</a>
...
<div class="jqmWindow" id="dialog">
<a href="#" class="jqmClose">Close</a>
You will need to download the jqModal files and place them into your MISC directory, and be sure to load the .js and .css inside the the template.php with:
drupal_add_css('misc/jqModal.css', 'core');drupal_add_js ('misc/jqModal.js', 'core');
OR
Load the .css or .js files inside the page.tpl.php
Keith
http://hittage.com
thanks but...
thanks but how did you have it like where it shows the cities then the user selects the city and gets the categories for that city they selected?
Inside the div tag is where
Inside the div tag is where the magic happens.
<a href="#" class="jqModal">Show me the goods!</a>...
<div class="jqmWindow" id="dialog">
<?php your_module_function_show_me_the_goods(); ?>
<a href="#" class="jqmClose">Close</a>
</div/
So then you put the heavy lifting inside your own procedure call ie. "your_module_function_show_me_the_goods()", in my case was the list of cities.
Keith
http://hittage.com
Great!
Thanks a bunch. Will give it a try and see if it can work for me.
'Change City' feature
Keith, hittage.com looks great. Thanks for sharing some of the inner workings of the site with us. Along with some of the other fans of your site here, I have a question regarding how you implemented the 'Change City' feature. Thanks for the tip on jqModal, I see how you've used it to create the modal window for selecting cities, however, can you provide some additional info on how the actual process of changing cities is implemented. Are you using apachesolr_search for it? How is the 'Change City' call made and the respective content loaded? Any tips, pointers or guidance is much appreciated. This is something I and many other users can benefit from.
Thanks in advance.
Thanks for all the comments
Thanks for all the comments guys, keep them coming!
Regarding the "Change City repective content loaded". Majority of logic was built into a custom module that I created to display the content with respect of the city chosen. It was pretty straight forward, just requires some creative SQL coding to join the location information and taxonomy, could have prolly used a view but I found it easier to write a SQL statement instead.
Keith
http://hittage.com
fantastic job, congrats! i
fantastic job, congrats!
i must ask, where did you your databases of stuff, (restaurants, shops etc.)
thanks!
Great Write Up
I really like how you explained everything in your initial post. Especially which tools you used - I don't work on windows, so none of it is useful, but it's still handy to know.
Your follow up comment replies are awesome!
I hope your site goes well,
Chris
--------------------------------------------------------------------------------------------------------------------
Specialists in communications & internetworking technologies - http://www.mrvoip.com.au