University of Toronto, Coding Projects

Case Study

Coding Projects

During my time in undergrad, I explored many skillsets. One of which is coding from the School of Continuing Studies. I embarked on a part-time certificate program alongside my undergraduate studies to further my knowledge in technical subjects. Below are individual and group projects from that program.

My Role
Developer
Program
University of Toronto, SCS Certificate in Front End Development
Timeline
Sep 2018 – Mar 2019

Project One: CLI Shopping Database Application

This is an application that implements a simple command line based storefront using the npm inquirer package and the MySQL database backend together with the npm mysql package.

Customer Interface

The customer interface allows the user to view the current inventory of store items: item IDs, descriptions, department in which the item is located and price. The user is then able to purchase one of the existing items by entering the item ID and the desired quantity. If the selected quantity is currently in stock, the user's order is fulfilled, displaying the total purchase price and updating the store database. If the desired quantity is not available, the user is prompted to modify their order.

Bamazon CLI demo

Project Two: Friend Finder Fullstack App

Friend Finder application is meant to simulate a simple dating app, implemented using a Node.js and Express backend servers. Friend Finder was deployed to Heroku before they removed their free tier.

Description

Friend Finder implements friend matching based on the user's responses to a ten question survey. The user responds to questions with values from 1 (Strongly Disagree) to 5 (Strongly Agree). When the survey is submitted, an existing user record closest to the current user's responses is found and returned. The closest set of user responses is defined as the set with the lowest absolute difference for all ten questions combined.

Project Three: LIRI CLI

LIRI is a Language Interpretation and Recognition Interface. LIRI will be a command line node app that takes in parameters and gives you back data. Similar technology, commonly found, is iPhone's SIRI which recognizes Speech.

Functionality

LIRI bot takes in 4 commands:

  • 'concert-this': displays an upcoming concert specified by the artist name input on command line
  • 'spotify-this-song': displays song specified from the command line, with descriptions. Without a query, it defaults to 'The Sign'
  • 'movie-this': displays key movie information about the movie queried. Without a query, it defaults to 'Mr. Nobody'
  • 'do-what-it-says': runs the command and query as specified in the random.txt file

LIRI CLI demo

Project Four: Crystal Collector Game

A fun and interactive game for web browsers. Coloured gems will be assigned a random number each new game started. Try to match the randomly generated number to the right by adding the unknown gem values together. Don't go over the given value or else you lose!

Crystal Collector game

Project Five: GifTastic

This app uses the GIPHY API to make a dynamic web page that populates with gifs of your choice. The GIPHY API is called using AJAX with JavaScript and jQuery used to change the HTML of the site.

GifTastic app

Project Six: Appointment Booker

Our team started with the vision of making booking your next appointment simple. AppointJS is an application that allows for user-friendly appointment booking on a react-calendar using Mongo database. Ideal for businesses who want one platform to handle all their booking needs, and clients who want a convenient platform for appointments, eliminating the need for back and forth emails on both ends.

AppointJS appointment booker

How It Works

  • Login on the landing page using the "Login" button on either the navigation bar or on top of the picture
  • Once directed to the login page, click the "Gmail" or "Facebook" option to sign in with an account
  • Appointments can be booked by clicking a slot on the calendar, options are provided for start and end date, as well as choosing different views (one to seven days). You can also customize your event by selecting a variety of colours.
  • By choosing "My Calendar" on the navigation bar, the user is able to view their own calendar events.
  • Users can also interact with other people on the website. When clicking "Book Meeting", users can add people for events and different calendars can overlap with each other.

Project Seven: Article Scraper

An app that scrapes articles using Mongoose and Cheerio from a news publication and lets users save articles and leave comments on the latest news. The Newspaper is University of Toronto's Independent publication, with a new Wordpress Website implemented by Judy Hu in 2019.

How It Works

  • Scrape articles by clicking the "Scrape Articles" button.
  • Once articles are loaded, read full article by clicking the link in each article's panel and save articles by clicking the "Save Article" button.
  • Saved articles can be viewed at the "Saved Articles" page and unsaved by clicking the "Unsave" button.
  • Comments can be added on saved articles by clicking the "Add a Note" button.
  • Saved articles can be deleted by clicking the "Delete" button.

Project Eight: Node-Express-Handlebars

The purpose of the "Burgers!!" app is to demonstrate the ability of this developer to produce a full-stack web-application served via an Express framework. The app is built according to the Model-View-Controller architecture of application development.

What the App Does

Users can provide a burger name, it will be written to a mySQL database indicating that the burger is ready to be eaten. The controller of the app will route requests to:

  • Display which burgers have been eaten and not eaten (GET request)
  • Update the database when a user indicates they've eaten a burger, moving the burger name into the "eaten" column (PUT Request)
  • Add a record to the database when a user submits a new burger name (POST Request)