Caribbean Resumes - Job Opportunities and Careers in the Caribbean - just launched!
AttachmentSize carribean.png62.72 KB
Caribbean Resumes just launched - It's is a
little monster.com that is geared towards providing a job portal for all the recruitment, career advice and hiring needs for Caribbean residents.
The following details how I built the site, including the history, overall design approach, what modules were used, and more.
History
First, a little bit of history about how I discovered Drupal. I was the webmaster at a local educational institution where I was charged with the responsibility of revamping the Intranet. After googling for a bit, I came across Mambo and Drupal (it was version 4.5 back then). I tried Mambo first but could not quite get my head around the administration panel. I spent exactly the same time trying to understand Drupal, and in a matter of minutes I was cranking out pages and becoming familiar with the admin interface.
From there on since, I have spent hours on drupal.org reading articles and becoming increasingly familiar with how Drupal was built and how to effectively modify it. There was a significant learning curve but I believe it was worth it in the long run, and trust me it was worth it! To get a better grasp of Drupal I even attended one of the Lullabot's training workshops held at Providence Rhode Island in January 2007 where I even spent my birthday coding Drupal! From there on to present I have never even looked at another content management system!
Goals
I wanted to build something as big as Monster.com but limited to the Caribbean with the main intention of keeping everything automated as far as possible.
I really pushed for this to happen. I found inspiration from sites like Youtube and Google that started off
with a couple of guys and eventually turn into something big with the determination and dedication behind it.
Design
I sat and thought about the design for weeks. I googled for hours and viewed the top ten websites in the world.
I really loved the Apple website and the easy-on-the-eyes colours and menus
used on Enhanced Labs. Although some may disagree, I personally think
rounded corners give a more professional look. So I picked and chose the best features from different sites and it
all came together at CaribbeanResumes.com.
I drew out a sketch of what I wanted the site to look like (see left image) I then found 3 top designers and each
paid them a lot of money to come up with a design based on my sketch. I rather spend the money on a perfect
design as the design can make or break the site. Hence this is why I chose 3 different designers and
just picked the best out of the 3. If you look closely at the sketch you will see circled numbers.
For each circled number, I provided the designer with a text document with further explanations of the
respective numbered area.
Views.module coupled with the Panels.module allowed me to create the design of most major pages on the site in record time - it
is also very simple to test different layouts since it is so easy to use. I was hit by somewhat obscure bugs in
different browsers...well one browser to be exact - Microsoft Internet Explorer - png bug, some images (like the logo)
completely disappearing in IE6/7, just to name a few.
I used Browsershots.org to a great extent to see how the site would look in different browsers on different operating systems.
Drupal - Module list
The site is built using Drupal 5.x as some critical components / modules were not yet available for 6.x. Although I would have personally preferred 6.x, a lot of the user-contributed modules were not ported to 6.x at the time of development. I am proud to say that I built this site without touching a single line of the source code that ships with Drupal. Other than user-contributed modules, my other custom functionality went into 1 custom module that did a lot of hooks into the the Drupal-shipped functions. I even hooked into one of the eCommerce module functions from my custom module. This will make my life all the easier when it's time to upgrade.
I must say that the Drupal community is very friendly and helpful. If I wanted some special functionality, I searched the Drupal website and 90% of the times, someone somewhere had the same request and a solution was posted. In the remaining 10% of instances where I did not find a solution, I wrote the functionality into my custom module and posted back to the community my code so someone else can benefit from it. Here is a short list of the contributed modules I used with some categorisation:
Development
- Devel
- Simpletest
Commerce
- Adsense
- Currency API
- eCommerce
- Google Analytics
Layout
- CCK
- Imagecache
- Node Queue
- Panels
- Sitemap
- Views
Miscellaneous
- CAPTCHA
- FeedAPI
- Forward
- Job Search - I actually fixed a bug as a result of using this module.
- Service Links
- Token
- Taxonomy access control
As I was developing, I was falling into the trap of constantly browsing the Modules page and finding super cool
modules to add. This is a no-no. My advice is to stick to only what the end users need and if there is demand for something, then add it. All the modules I added are for functionality that users would need anyway.
Most importantly, set a deadline and stick to it! If you do not set a deadline, you will be going on and on,
adding functionality, fixing this, fixing that and your site will never be launched. A deadline helps to
serve as a cut off point where you say "ok here goes!". You can always subtly introduce features later on
but try to get the major features in and tested properly before the launch date.
Miscellaneous
I was the sole developer on this project and I was able to build this site from scratch using Drupal in 4 weeks total. This included the functionality and theming (although the actual design mockup was not done by me but by the garland guy - Stefan Nagtegaal).
Developing on Ubuntu
I developed the entire site on my laptop running Ubuntu 8.04 Hardy. I also used XAMPP, Sendmail and Zend Studio. Ofcourse I could not live without tools like Firebug, Measure It, IE for Linux and a sponge brick used to pelt at the screen during those "what the hell is going on" times.
NB - At the time of development Firefox 3(beta) was out and I was hit the Firebug not working on Firefox 3b bug on Ubuntu.
Lessons learned / random thoughts
Here are a few lessons I learnt in no particular order
- Backups backups backups!
- Firebug does not work with Firefox 3 at the time of development (which came with Ubuntu Hardy) so I ended up reverting to Firefox 2.
- Documentation is very important. I documented the steps to do administrative stuff and other miscellaneous stuff on the website.
- I kept a todo list on the site as node/1. This was simply an unordered list of things to do and as I did them I removed it from the list. I then placed a link to this node in the Primary Links for easy access while I developed.
- Do not be afraid to reach out to the Drupal community for help. No question is a dumb question. Just do sufficient searching before you ask a question as most likely someone would have asked the same thing before.
- Facebook is excellent at viral marketing - within the first 6 days, the Facebook group has grown to 1400+ members.
Conclusion
In conclusion, I would like to thank Ted Serbinski for his encouraging messages he sent me about determination.
I would to thank Stefan Nagtegaal for coming up with a stellar design based on my sketch and having the patience
to deal with my very specific design. I would also like to thank Angie Byron for helping me with this writeup.
I will try to respond to everyone's feedback but this is not a guarantee. Thanks!
Drupal version: Drupal 5.x