Projects

On this page you will find some of the projects I felt were worth highlighting.

GitHub Profile

Source code for most, if not all, of the projects listed below and additional personal projects can be found on my GitHub profile at github.com/DAmatheson. This is always the most up-to-date source for viewing my projects.

ASP.NET MVC

PROG2230

This GitHub link contains all of my ASP.NET MVC projects.

The first two projects were to create a website for a bus service. This included create, view, edit, and delete pages for bus routes, stops, trips, and trip stops.

The third assignment involved hand creating pages using HTML helpers.

The fourth assignment was to create a self-validating model and other related validations.

The final assignment was based around users and roles. This included restricting portions of the website to specific roles and creating an administration section for managing the users and roles.

Veil - PROG3050

This GitHub link contains the source code for Veil.

Veil was the video game e-commerce site we created for our Microsoft Enterprise Applications class. This project was the entirety of the class and acts as a practice capstone to prepare us for the real capstone project.

The site was created using C#6, ASP.NET MVC 5, Entity Framework 6 Code First, SQL Server 2014, and Foundation from Zurb. We chose to use EF Code First as none of us had experience with it and it seems to be the recommended way going forward. It took a bit of learning to figure out all of the setup for it, but it all worked out.

We wrote unit tests for the application using NUnit and Moq. We achieved 100% code coverage on our controllers and 92% code coverage overall. I was the one pushing to have us test to this degree and am quite happy with that we were able to achieve such a high code coverage percentage.

To process payments we used Stripe which allowed us to avoid having to secure and store credit card information.

To send out emails such as email address verification emails, order confirmation emails, order processed emails, and forgotten password emails, we used SendGrid.

C# Projects

Helicopter Madness

The final project for my Object Oriented Game Programming classed required us to create a game that fulfilled some basic requirements and optionally included extra enhancements. My partner and I decided to recreate the flash game Helicopter. In the game you control a side-scrolling helicopter trying to avoid crashing into obstacles or hitting the top or bottom of the cave. The only control you have over the helicopter is to make it fly up. The game tracks the top five high scores which are based on the distance traveled before crashing.

Two Player Pong

This was a simple two player pong game created in XNA. I created a base class for a sprite and inherited from it for the ball, paddle, and score board. For handling collision, I created an ICollidable interface which the ball and paddle implemented. I then created a collision manager which looped through a collection of ICollidables to see if they intersected each other. If they did, the colliding objects would be notified via the OnCollision method of ICollidable.

Sliding Puzzle Game

This project required me to make a sliding puzzle game that can have its length and width customized by the player. Additionally, the game has save and loading functionality. I accomplished this by inheriting the Button class, adding location properties, and swap and animation methods. To checked if the game has been won, I loop through all of the boxes and check if they are all in their correct positions.

Flight Reservation System

This was my final project for my first term C# class. I had to create a reservation system for an airline system or concert. The biggest challenges presented when developing this program were creating an error-resistant file reading and saving system and assigning seats to each button in such a way that it would be simple to expand the number of seats.

Chapter Review Game

My first term C# class had a group project which required us to make a game that would review the chapter questions in a fun way. My team decided to create a mix of Connect 4 and tic-tac-toe. For this project I created the question window and the question result window. On the code side of things, I created a question class for setting up the questions. I put all of the questions into a list which the game randomly picked and removed a question from so that questions didn't repeat.

Calorie Calculator

For this project, I had to create an application that allowed the user to input their gender, activity level, and weight. The number of calories required to maintain their current weight is then calculated and displayed.

Java

Java JSP / Servlets - PROG2240

This link to GitHub contains all four assignments my group member and I completed for this class.

The assignments involved making a simple book store website. No database interaction was involved as all data came from text files.

Java EE - PROG3060

This link to GitHub is the repository for the three assignments my group member and I completed for this class.

This class covered JDBC, Hibernate, JPA, EJBs, Servlets, and JSPs. We created and improved the same project through all three assignments. The website was allowed you to view NHL standings, teams, team rosters, players, player stats, and scheduled and completed games. The data was provided by a Derby database. We started out using JDBC for data access in the first assignment and converted it to JPA for the second assignment.

SQL

MySQL - PROG2220

This link to GitHub contains all of the MySQL SQL files and output I created for my SQL class including queries, data manipulation, views, and table creation and modification scripts.

Oracle 12c - PROG3200

This link to GitHub contains all of the Oracle SQL files and output I created for my Oracle Database Application Development course. This includes a schema for a school information database, SQL queries, PL/SQL blocks, procedures, functions, packages, and triggers.

This Website

My final HTML project was to create a portfolio website. The website you are currently seeing is the result. I created this site from scratch. As I prefer white text on darker pages over black text on lighter pages, I went with that style for my own site. Furthermore, I limited the text to the middle section of the page to help with readability. Overall, I'm very happy with the results.

HTML / JavaScript

jQuery Accordions

This project was our way of showing all the different options available with jQuery UI accordion menus. Each page has demo code that can be copy pasted into a file to mess around with yourself.

PHP / jQuery Mobile

This project required me to use PHP to add data from web forms into an Access database. After the project was finished, I integrated jQuery mobile into the page as a way to experiment with it and learn about both it and responsive layouts.

AngularJS Reading List

This little past reading list site was creating using AngularJS. It pulls data from a JSON file in my Dropbox and displays the data. I created a companion C# console app which I use to add items to the JSON file.