This is the first in a new series of articles showcasing sites that have been built with Bonfire as the base. In this case, Project Simply built the site based on Bonfire 0.5 and did a fabulous job creating a beautiful site.
If you have a site that you'd like to have showcased, please email Lonnie at firstname.lastname@example.org.
Tell us a little bit about the team that built Eposure.com.
We're a small, boutique agency in sunny Manchester, UK called Project Simply. As lead developer, I was itching to get stuck in to Bonfire since finding out about it, and was looking for a suitable web application project to use it. I've been using Codeigniter for years, but inevitably drift into open source (Wordpress, Magento) for most of our projects as they suit a more standard site.
The core of the application was built in its entirety by just me (phew), which is not ideal, but time frames allowed for this to be the case. We had different front end devs and designers involved, but when building applications it's always better to tag team the back end, at least. Spot each other's mistakes, and the like.
Can you describe the application in general?
Exposure is a place for photographers to easily present their portfolios and CVs to the world. It's aimed a connecting freelance photographers with creative professionals such as art directors who need to employ someone for a specific task.
What are the goals of the site and the main audience?
The crux of the site revolves around the search facility, allowing creative professionals to easily find nearby photographers within a specific niche. This way the most ideal person can be found for a specific job, as quickly as possible.
The secondary purpose is to create a glitzy portfolio page for the members, with an attractive gallery to view photographs. It also needed to be super simple to use for photographers without a deep knowledge of computers.
What made you decide to use Bonfire for this?
I've been looking for an HMVC framework that sets me up with an admin area and secure user system for a long time. There's obviously a heap of them out there, but it was also key to find a framework that remained flexible and liberal. I can't stand it when it feels as though the framework is restricting me, and with Bonfire I found a system that would give me everything I needed, but never seemed to get in the way. Well, almost never!
What were some of the pleasure-points and pain-points when using Bonfire for this type of site?
The module builder is great. I feel almost like I'm cheating, using PHP and having something generated like that! At first I thought this would be restrictive, but once again, after the module builder did its business it was marvellously simple to amend or simply ignore the way it generated code, and do my own thing around it. The extended model class in particular gives me much joy, using find, update & insert functions without having to write anything. Terrific.
Pain points? I'd say I have grief with the standard admin layout. I'd much prefer a less awkward, more 'blank canvas' style to the system. Using boiler plate, for example. Something that is plain and doesn't need editing, but can easily be modified, just like the module builder.
Any general tips for Bonfire users you learned on this project that you'd like to share?
Work out exactly what the module builder is doing. Take a look at the extended classes in the core folder, and see what MY_Model is making for you. I know I didn't quite use everything to its full potential here, as I didn't read through thoroughly until I'd already got going. Most db interactions are covered here, it really leans up your code.
Any thing else you'd like to share?
Ooh, the activities monitor is great, and so useful for keeping track of users. It's so easy to implement too. The reporting is a bit poor though, and a simpler way to navigate by date, and do a csv export would be on my list of improvements. I know for eposure they already have thousands of pages of activities reported, and an export of this is on my list of improvements for them.
Hey, I should probably stop moaning and offer to help you out with this?
What lessons did you learn during this project?
Going back to my point about tag teaming- single handedly backend devving an application like this is a bad move. Sure, I got there in the end, but the amount of time wasting bug hunting or problem solving is just not good enough, when a fresh pair of eyes tends to spot what's going on straight away.
Also, I learnt that they Paypal API docs are the biggest steaming pile of crap I've ever encountered.
What's up next for you and your team?
We have a heap of sites being developed at the moment, and we're just finishing off an image manager/ repository for a client, built once again with Bonfire.