Andrew Hood

Internet Applications and Web Development

About

Andrew Hood is a full-stack web developer from London, Ontario. Andrew works with several web programming technologies, including: PHP, MySQL, CakePHP, Silex, Twig, JavaScript, jQuery, ASP.NET, C#, HTML, CSS, AJAX, PhoneGap & XML. Some examples of projects Andrew has worked on are below; live links are listed where available.

PHP MVC Frameworks

Silex - Simple Blog

This basic blog system is designed using the Silex micro PHP framework for its architecture, Twig for the views/templates and Composer to install the necessary dependencies. Twitter Bootstrap is used for the simple responsive styling and a MySQL database is used to store the articles. The code is available to be viewed on GitHub.


http://www.andrewhood.ca/simple_blog/
https://github.com/andrewhood/simple_blog

CakePHP - Submission Portal

This application makes use of the CakePHP MVC framework to create a CRUD style application that allows teachers to submit cover letters and administrators to approve or reject them. Information is displayed based on who is logged in. It also incorporates some AJAX using jQuery.


PHP

Messenger Portal

This team project is designed to meet the requirements of an online home-school service. It is coded with plain PHP and uses an MVC design pattern. Also uses MySQL, JavaScript, jQuery and Bootstrap for UI. The app is designed as a portal for Administrators, Teachers and Students. Admins can complete CRUD tasks on the database. Teachers can respond to and edit messages from students. Students can send new messages to the teachers. Users can move the different messages to different inboxes.


App Portal

This is a website designed to feature useful web and mobile applications that I develop. Designed using PHP, JavaScript, jQuery, HTML, CSS, Bootstrap, AJAX and an MVC design pattern. Individual applications use varying technologies. Some applications are listed below.


http://www.appincredible.com

Random Number Generator

This app outputs random numbers to the user based on the options they choose. Gives the user the option of generating strong random numbers using the openssl_random_pseudo_bytes() function, or faster numbers with mt_rand(). Allows very large numbers to be created by using the BCMath library. A variety of other options are available for the user to choose from which modifies the output. AJAX is used to send the results to the user.


http://appincredible.com/online/random-number-generator/

Article Summarizer

This app is designed to accept a text input from a user and outputs a "summarized" version of it to the user using AJAX. The algorithm currently takes the first sentence of each paragraph and outputs it to the user.


http://appincredible.com/online/article-summarizer/

List Sorter

This app takes any input, identifies the "words" by the spaces or line breaks and then sorts it alphabetically or by word length and outputs it to the user. Uses PHP, JavaScript, jQuery, AJAX.


http://appincredible.com/online/list-sort/

Character Counter

This application counts the number of individual characters/letters/numbers/spaces of a text input depending on user selection. Can also count a specific character identified by the user. Uses PHP, JavaScript, jQuery, AJAX.


http://appincredible.com/online/character-count/

Word Counter

This app counts the number of words in a document submitted, as well as calculates the number of unique words and the word density for each word. Optionally the user can limit the output to display words with a minimum number of letters, or that appears a minimum number of times. Uses PHP, JavaScript, jQuery, AJAX.


http://appincredible.com/online/word-count/

Word Wrapper

This simple app takes a text input and outputs the text wrapped to a user-specified number of characters. Also has the option to let words longer than the max-width to overflow or to break. Uses PHP, JavaScript, jQuery, AJAX.


http://appincredible.com/online/word-wrap/

Paralegal Business

This is a mostly static website designed for a paralegal business. It uses some PHP used for the architecture, the sticky menu tabs and a contact mail form. Otherwise it is coded primarily using HTML and CSS.


http://www.rslstoronto.com

Ticket Shopping Cart

This project also uses a plain PHP MVC design pattern and MySQL to create a shopping cart system. All "events" from database were listed dynamically. Users can register and log in, add tickets to their cart and check out. Orders are saved in the database as well. Sessions use cookies and are backed by the database.


Image Upload Portal

This project uses PHP and HTML5 upload technologies to create an admin-side upload portal. The admin can upload multiple files at once to the server. Files that are newly uploaded are "untagged" and can be immediately displayed below with AJAX using jQuery. Data related to the images can be edited and saved. Uses both server directory authentication and in-app authentication.


To-Do List

This project uses a plain PHP MVC design pattern, MySQL and AJAX calls using jQuery. Users can add new tasks to the database and delete/complete tasks. Users can also refine the list without the page ever reloading/refreshing.


Portfolio Website

This is the website you are currently looking at. It is designed using PHP for its architecture, however it is primarily coded with HTML, CSS, jQuery, jQuery UI and JavaScript.


http://www.andrewhood.ca

ASP.NET

E-Store

This project uses ASP.NET, C#, HTML and CSS. Inventory data is stored in XML files on the server and pulled to dynamically fill the pages of the test store with content. Items can be added to a cart that is saved during the session, and items can be removed and edited in the cart as well. ("Paintballgear.com" was just an example domain name, I am not affiliated with the owners.)


JavaScript

JavaScript Spreadsheet

This project uses JavaScript, HTML and CSS to generate a spreadsheet table. It uses a corresponding array to save data entered and rebuilds the spreadsheet table after edits. It also features the ability to save and load spreadsheets to/from a text file on the server using C#. A SUM formula can also be entered which automatically sums a specified set of rows horizontally or vertically.


Google Maps API Project

This project is designed using ASP.NET and C#, but primarily makes use of JavaScript and the Google Maps API. You can zoom in on your current location using your browser's location services. You can add new markers to the map by clicking anywhere on the map. The markers automatically generate latitude, longitude and address information. You can edit the info and give the marker a title. You can delete or de-select the markers, clear the map, optimize the zoom to just contain all markers on the map. You can save the current set of markers to a file on the server in JSON format and reload it later. Also features a responsive design using CSS and media queries.


Paint

This simple "paint" application is coded with HTML and JavaScript. It demonstrates dynamically adding styles to a grid of divs generated by JavaScript to give the effect of painting/drawing on a canvas.


http://www.andrewhood.ca/paint

PhoneGap

GPS Locate Free

This is an Android application compiled using PhoneGap Build and developed using HTML5, CSS, JavaScript and the PhoneGap library. The app allows you to capture various details about your current location once or on an ongoing basis using your Android device's built-in GPS.


https://play.google.com/store/apps/details?id=com.appIncredible.GPSLocateFree

XML

Bus Stops

This project applies an XSLT stylesheet to an XML document to generate an output. Written in C#, it first accepts an input from the user through a console, and then modifies the XSLT dynamically before loading the XML in the browser.


Contact

Email: andrew@andrewhood.ca
LinkedIn: Andrew Hood
GitHub: https://github.com/andrewhood/

Send Message
Name*:
Email*:
Phone#:
Message*: