Sometimes you have to try something a few different ways to get it right.
When I originally launched WithCake.com, I had used it as a blog to talk about anything I ran into with CakePHP development. However, I quickly found that some posts bordered on the edge of general PHP stuff. Plus, many regular readers of Snook.ca seemed interested in following along even though they might not develop in CakePHP currently.
So, I stopped using WithCake.com as a blog and moved those posts into this site. Which left me wondering what to do with the domain. With some inspiration, I came up with...
A job site!
After seeing something similar for CodeIgniter (the address of which I can no longer seem to find), I decided to make a site where companies looking to hire CakePHP developers could post an ad. Likewise, developers looking to get hired for a little work could also post an ad.
The site is conveniently divided between companies and developers with RSS feeds for each. Companies will have their ad visible for a total of 2 weeks whereas developers will be listed for a month. To help support the community, I've also made all listings for companies and developers absolutely free. (Whether or not that'll change down the road, we'll have to see.)
Made with CakePHP
Of course, the site was built entirely in CakePHP and has a really straightforward structure. I built the basic site in about 2 hours and then spent another hour or so adding on a couple extra features (notably, the RSS feeds and the ability to contact someone through the site).
I have three tables: developers, companies and contacts. The developers and companies tables, in retrospect could have been combined into one table. I originally intended them to be different enough but as I built out the features, they ended up being nearly identical.
The contacts table tracks any time a developer or company is contacted. I had to sit on this feature for a bit because I wasn't sure how to prevent spam. I didn't want anybody to just fill out a form and have the information sent without any kind of filter. In the end, I came up with a confirmation step that should hopefully limit this type of thing from happening.
Here's how it works: when you want to email someone, you fill out the usual details and then an email is sent to you to confirm that address. Once you've confirmed, the email gets sent out to the developer or company.
Spam and security, in general, is a constant consideration when building a web app, no matter how simple it may seem.
Check it out
Now that things are essentially "feature complete", head on over and check out the site.