Matt Dailey

Experienced software developer with a focus on Angular, Azure DevOps and Jenkins

keyboard_arrow_down

Introduction

I currently work on enterprise-level web applications using Angular, Bootstrap, and Angular Material. I'm branching out into continuous delivery/continous integration with Azure DevOps and Jenkins. Even though I no longer offer website and WordPress consulting, I'm still open to connecting. Check out my social media profiles below.

Portfolio

Below is some of my highlighted work. I have divided it into two categories:
case studies and code samples.

Case Studies

New England Craft Brewery Locator
WordPress Events Calendar child plugin
Personal Site Redesign

New England Craft Brewery Locator

The Brief

One of my interests is craft beer. One of my hobbies is visiting breweries. I couldn't find a good web app with listings of New England breweries so I decided to create my own. My aim was to create an app that was useful and easy to use. I limited the app to breweries located in New England to keep the size of the app manageable.

The Approach

There wasn't an API I could use to get the address information of craft breweries. The first step was to create my own mySQL database. I did some research and found listings of craft breweries for all six New England states.

I decided to split the web application into two parts. The backend part consists of the PHP MVC framework, Lavarel. It handles all database-related tasks like adding, updating and deleting records. I choose Lavarel for its easy of use, small overhead and speed. I created a UI for managing the database consisting of multiple views and controllers.

The frontend part is Angular 5, a Javascript MVC framework. I use a Google Maps Angular library, Angular Google Maps to help initialize a map, populate the markers, create info windows, etc. There is dropdown menu filter by state feature, choosing a state will only show breweries located in that particular state. Within each info window, the brewery's address is automatically inserted into a Google Maps link to make it easy to get directions. The state filter and the search by brewery features are powered by Angular services.

Events Calendar OnDemand child plugin

The Brief

A previous employer needed some custom functionality added to the Events Calendar plugin. They needed their live webinar events to have the ability to convert to an on-demand event. This involved removing the date and time field from the event listing and changing the event link.

The Approach

I went with creating a child plugin which would work in conjunction with the Events Calendar plugin. It uses the Events Calendar API. The child plugin adds a checkbox to the individual events admin screen along with a on-demand event link field. Javascript, injected from a separate file, removes the date and time fields.

Personal Site Redesign

The Brief

My personal website was lacking relevant content. I was looking to add content relating to web development and more importantly, display more of my coding skills and past work. I felt the overall look and feel of the website could use an update.

The Approach

I wanted to keep the overall layout of the site the same and expand the number of sections. I switched to Bootstrap 4, a CSS framework I used in the past. I added some CSS and Javascript animations so the site had more than just the parallax scrolling effect. Using the GreenSock Javascript animation library, the banner headline and the navigation menu text will slowly appear in an ordered sequence. With Composer I installed Google ReCAPTCHA and SwiftMailer, a PHP mail library for use in the contact form. I continued to use Foundation Icon Fonts for my social media icons for their ease of use and having all of the social media logos I needed.

Code Samples

Click on the title to see the code on GitHub.

Sample of MySQL queries
Populate one hidden form field with multiple checkbox answers using jQuery
Run Huge IT Lightbox plugin only on certain pages in WordPress
Display featured and upcoming webinars on the same page by calling the corresponding method. For use with the Events Calendar WordPress plugin.
A customized checkbox tree structure in a preference center form with jQuery
Register WordPress custom fields using the CMB2 PHP library