boo


Who am I?

My name is James and I am a full-stack programmer in Welland, Ontario. I graduated from Niagara College’s Computer Programmer Analyst advanced diploma program in December 2022, maintaining Honours Status in four of the five semesters completed while peer tutoring on the side as often as I could.

I have a wide variety of experience across many areas of software development, as both an individual and a team member, building everything from SQLS data warehouses to complex point-of-sale systems. Some of the projects I'm most proud of, or even just had the most fun working on, can be found in the Portfolio section of this site or on my GitHub page at Hare-J.

I am extremely passionate about building robust, quality software following good object-oriented design.

Headshot of James Hare

Experience

My Resume

Niagara College Peer Tutoring

During the Fall of 2021 I was hired by Niagara College as a peer tutor for some of the courses I had taken in the Computer Programmer Analyst program. I mainly focused on helping new students get the hang of early web development, data structures, and RAD using ASP.NET C# by going over in-class examples, assignments, and creating more focused code snippets on the fly to better demonstrate more tricky concepts.

I had a lot of fun helping my peers better understand the more difficult course content, especially from the first couple semesters of the program where some of them had little to no prior experience programming. I was in the same boat coming into the program and without amazing teachers I might not have fallen in love with the field like I did, and I wanted to spread that love as best as I could.

Community Project

During the Spring of 2022, I took part in a community project along with five other classmates that I had worked with previously.

The objective of this project, with some guidance from our teachers, was to work with a local business to create a point-of-sale system to better suit their needs. We met with the business owners regularly to establish project requirements and provided them with numerous prototypes as development progressed, building out their web app piece by piece from the database to the UX and everything in between.

This project was built as an ASP.NET Core Web App in C# and used a SQLite database.

Skills

Languages

  • Bash
  • C#
  • HTML/CSS
  • Java
  • Javascript
  • PowerShell
  • Python

Database

  • Apache Hive
  • Apache Spark
  • Hadoop
  • MongoDB
  • SQL & SQLite
  • SSIS

Frameworks & Design Patterns

  • .NET Core
  • ASP.NET Web API
  • Bootstrap
  • MAUI.NET / Xamarin Forms
  • Model-View-Controller
  • Model-View-ViewModel
  • Swagger
  • Universal Windows Platform

Communication

  • Cisco Webex
  • Discord
  • Microsoft Teams
  • Zoom

IDEs & Editors

  • Android Studio
  • Eclipse
  • Jupyter Notebooks
  • SQL Server Management Studio 18
  • Sublime
  • Visual Studio 2019 & 2022
  • Visual Studio Code

Platforms

  • Fedora
  • Ubuntu
  • Windows

Version Control

  • GitHub

Portfolio

Java TCP/IP Client-Server Project


In my sixth semester I took a course on mobile development with Java, which included a hands-on test that required me to create a TCP/IP client-server chatroom. This was pretty different from what I'd done to that point, which was almost exclusively done in C# and was more focused on developing stand-alone apps that would at most communicate with a database or API.

Despite some early difficulties, I ended up having a lot of fun with this project and even went as far as to include a "command" functionality for writing private messages to specific users, displaying a list of currently connected users, and displaying a list of commands.

Skills used: Java, TCP/IP networking, Object Oriented Design

You can find the source code for this project in its GitHub repository.

a conversation in a chat app
an image of the server frame for a TCP/IP server

This Website


I made this entire site from scratch for COMM1310 in my final semester at Niagara College using plain old HTML, CSS, Javascript and a bit of help from Bootstrap. I didn't have much experience with web design when I started this project, and the initial design was a bit clunkier than what it is today, but it's made for a fun project to build on over time.

Skills used: HTML/CSS, Javascript, Bootstrap, UX design

You can find the source code for this project in its GitHub repository.


Canada Games Management in .NET MVC Design Pattern


In my third semester, I completed a Canada Games personnel and events management app using the MVC design pattern with .NET C#. This project was completed over 4 separate checkpoints, each one adding more functionality and polish including demographic reporting systems, login & security functionality, and filtering of data.

Skills used: C#, MVC, Bootstrap

You can find the source code for this project in its GitHub repository.

an image of the Canada Games Management home page
img 1. Canada Games landing page.
an image of the Canada Games Management login page
img 2. Canada Games login page.
an image of the Canada Games Management athletes list with filtering opened
img 3. Canada Games athlete register with search/filter window open.

RESTful API with C# MVC Framework

During my fourth term I took a course in mobile development where I learned how to build custom API's and Xamarin Forms (MAUI.NET) apps in C# using both MVC and MVVM design patterns. For my final project in this course, I decided to build an API and accompanying Xamarin Forms app. The Xamarin Forms app is still in development, but the API is functional with Swagger.

Skills used: C#, MVC (API), MVVM (XF), Swagger, Organization

You can find the source code for this project in its GitHub repository.

Swagger UI showing Pokemon in an API

Community Project - C#/SQLite Point Of Sales System

At the beginning of my fourth term with Niagara College, I was put into a team of six that I had previously worked with in another course with the intention of taking on a long-term live development process for a local charity competing with three other groups for app adoption.

Throughout the four month long term, we designed the application from the ground up, meeting with the client regularly to make sure we were including everything they wanted and were able to plan for future feature implementations. This made for a great lesson in the importance of teamwork and communication on large projects, especially given the tight deadlines we had to work with. We built the application using the C# MVC framework for all the inner workings and front end, and SQLite for their database.

Skills used: C# MVC, UX design, Teamwork, Communication

image of a point of sales dashboard

James Hare - 2023