Fully Custom eCommerce Platform

I’m not able to link directly to the web-based admin dashboard for the PHP/MySQL eCommerce platform I helped build, so I’d like to describe it here in more detail.

My job was to overhaul the UX and capabilities of the outdated admin dashboard. When I started, the only site functions available in the dashboard were creating coupon codes, managing images in a featured products section, and viewing orders. The functionality I added included product listing layout options, product pricing management, and Google Shopping integration.

Along with the new functionality, I had to restructure parts of the platform’s database to be compatible with the some of the new dashboard systems. This also involved re-integrating the system with an external product management service.

I really enjoyed working on this project because it took me out of my WordPress/Drupal comfort-zone. Personal projects are the only opportunities I’ve had to code in PHP outside of a larger CMS, so it was a new experience working in vanilla PHP on a larger scale project. It was also great to work with and learn from some veteran developers.

Flexbox

As a Sass user, I really love the Susy grid framework. It’s ultra-flexible and doesn’t mess with your markup (unlike most grid systems). That said, I can’t wait for the day that I can finally abandon Susy entirely for the new CSS3 Flexbox layouts.

Flexbox is everything I’ve ever wanted in a layout system. It’s so tempting to throw all my cares to the wind and dive straight in. Support is already really strong, but unfortunately it’s completely unavailable in IE9 and below. That represents a little over 5% of browser users. That may not sound like much, but it equates to around 30,000 visitors a year on some sites I’ve worked on.

I can’t wait for the days when we can look back on float-based layouts and laugh…

AJAX SVG Map WordPress Plugin

I’ve been working on an interactive map WordPress plugin on and off since last September. It’s been an awesome learning experience.

What it is:

  • A world map graphic rendered on the page using HTML5’s SVG element
  • Clickable regions on the map
  • An infographic rendered on the page using HTML5’s canvas element

What it does:

When a visitor clicks on a region of the map graphic, the infographic is populated with the data corresponding to the clicked region. It also loads a post on the page with text content about that region. This all happens through one AJAX call, so no page reload necessary!

I’ve had a few interesting iterations of how the map functions. I’ve had it loading a few of the most recent posts from a category associated with the clicked region. I’ve had it loading a single post’s content up to the Read More tag, and then including a button to the full post. For my current needs, I’m just loading up the full content of a single post corresponding to the clicked region.

There’s still a good chunk of work left before I’d call it finished. I’m working on getting as many options integrated into the Admin as possible. Right now I only have the infographic’s data values and post selection available in an admin screen. Eventually I also hope to give users control over how post content is displayed, and how regions are grouped together, but these options will be more of a challenge.

I’m currently using JQVMaps and NewChart.js for the plugin.

A long term goal would be to include all of JQVMap’s API, so users could control what type of map they want. I also haven’t worked toward including all of NewChart.js’ API options yet. It’s as if the more progress I make on this project, the bigger it becomes. But the bigger it gets, the more enthusiasm I have to work on it.

Here’s a link to the current WIP.

Archiving my work and processes

I’d like to start up this blog to have a more readable record of my work in web development, and my hobbies in illustration. A few reasons for this:

  • I want to showcase some PHP and front-end work I have in development.
  • It’s an excuse to create a site exactly how I would want.
  • I want to be a better writer.

I’ll also be sharing some of my thoughts and preferences about development and illustration, for anyone who happens to read or follow this. Here we go!