Consulting and Back-end Development

Blog on Brands

a platform for bringing blogs and brands together

A robust, custom-built platform for connecting bloggers and brands.

Reliable, performant and secure. Custom web application built on top of the CodeIgniter MVC framework.

Blog on Brands - Home

My work on Blog on Brands

I was responsible for the back-end development, in a team of two developers. The design and front-end development were done by La Personnalité.

Campaign

Blog on Brands - Campaign

Blog on Brands - Campaign

Campaign details.

Campaign creation

Blog on Brands - New Campaign

Blog on Brands - Campaign Creation

Multi-step campaign creation wizard.

Blog on Brands - Payment

Blog on Brands - Campaign Checkout

Promo codes, Taxes, Payment processing and Invoicing.

Campaign management

Blog on Brands - Campaign Status

Blog on Brands - Your Campaigns

Campaign dashboard (Brand view).

Blog on Brands - Campaign Bloggers

Blog on Brands - Campaign Bloggers

Get access to bloggers.

Blog on Brands - Blogger Profile

Blog on Brands - Blogger Stats

Developed by @tubalmartin.

Blog on Brands - Campaign Post

Blog on Brands - Post Stats

Developed by @tubalmartin.

Colophon

This project was completed in early 2013. It was carried out in collaboration with the amazing people at La Personnalité, who did the design and front-end development. The live site should be available at blogonbrands.com

Skills and Tools

These are the skills and tools I used throughout this project.

Development

The back-end was built on top of the CodeIgniter MVC framework, with MySQL as the database server.

I developed the public facing site as well as the administrative pages for campaign creation and management, for bloggers, brands and admins. That included the checkout process, which deals with products, VAT calculation, promo codes, payment gateway processing (Paymill), and asynchronous PDF invoice generation and transactional email delivery.

The site is multilingual, for which I developed a library that deals with language negotiation, loading, persistance and switching. I also developed a library for managing multilingual user notifications, which is used for transactional email template parsing (Twig templates) and delivery (via Mandrill).

The application makes use of many third-party REST APIs and services (Google Analytics, Topsy, Bitly, Twitter, Facebook, YouTube, Vimeo, Instagram, LinkedIn, Klout, Google PageRank, Alexa Rank and RSS feeds). All the heavy lifting with cURL, OAuth and APIs was done by @tubalmartin.

Performance wise, the site is served by Nginx and uses APC for opcode and user cache, as well as for session data storage. The most CPU-intensive processes, such as image processing, PDF generation or transactional email delivery are handled asynchronously to reduce the web server load and for a snappier user experience. Gearman was used during development for job queue management, but it was eventually discarded.

As for security, the application performs exhaustive input data validation, filtering (only where HTML data is accepted, with HTML Purifier), as well as proper database query and output (Zend Escaper) escaping. That, ideally, prevents the site from being vulnerable to XSS and SQL injection attacks. It is also protected against CSRF attacks by using tokens on destructive actions. User access and privileges are managed by a full-featured Auth and ACL solution. Additionally, SSL is forced on those pages that manage sensitive information.

Like what you see?

I am available for consulting, collaboration and contract work.

Hire me

Hey, there’s a shiny, new version of this site!

Go to new site