JOHN TEE

VANCOUVER, BC
JOHNCEDRICKTEE@GMAIL.COM


picture

SKILLS


PROCEDURAL / OBJECT ORIENTED PROGRAMMING


Image
Image
Image
Image

WEB DEVELOPMENT


Image
Image
Image

OTHERS


Image
Image
Image
Image

PROJECTS


Great West Wholesale - Invoice Maker

C# / MySQL

As a team of 4, this Windows desktop application was developed using C# using a MySQL database.

I was responsible for the windows forms functionality, using queries to pull information from the database and displaying it on the GUI. The database consisted of customers, products, and invoices that have CRUD functionality to be able to create and print out customized invoices. To implement the invoice maker, I had to do multiple things to make the application intuitive and user-friendly. For example, I implemented auto-complete for forms, input validation, and using efficient algorithms to reduce waiting time.

This application was built for Great West Wholesale so that they could reduce the amount of time they spent manually creating the invoices using Microsoft Excel. It also reduces the chance for human error as the product details are automatically populated from the item number and cost is calculated automatically.

Image

TUMBLEWEED TUSSLERS

Unity/C#

Top-down battle royale multiplayer game made in C# using Unity. Developed as a team of 23 in the Data Communications option of the Computer Systems Technology program at BCIT.

I was responsible for getting the player and shooting mechanics to work. I implemented player movement and rotation by combining raycasts with 3D Vector manipulation. To implement gun shooting/reloading, I used basic algorithms to keep track of gun and bullet states and then used vector manipulation for travelling bullets.

This program was built to apply the different concepts learned in the Data Communications option. This project also gave us the experience of working as a team of 23 developers.

Image

CHAT MESSENGER

Server: C
Client: Qt/C++

The Chat Messenger cross-platform program was implemented using TCP connections between the clients and the server. The server was implemented using the select() call by relaying received information to all the connected clients.

The client was implemented with a GUI using a Qt implementation. The client is required to enter the server's IP, a port number, and a username. From there, the client will connect to the server and be able to chat with other connected clients.

Image

FILE TRANSFER

Qt/C++

The file transfer application is a cross-platform program that can use TCP or UDP to send and receive files using sockets.

The receiver has to go into receiver mode first by choosing TCP or UDP, then the sender must choose the same protocol, enter in the receiver's IP Address, port number, and select the text file which they wish to send. The TCP and UDP connections are automatically closed upon completion of the file transfer.

This program was built in order to apply the theory learned between the differences of TCP and UDP.

Image

CHESS

Java

This Chess program was the first "big" program I ever developed.

To implement Chess, we had to create a board, a board would contain (8x8) squares, and each square may or may not contain a chess piece. After populating the board with the initial chess pieces, the game would keep track of turns, and also validate moves using basic algorithms. For example, a bishop can only move diagonally, a horse can move in L shapes, etc. The program can also save and load the state of the game using serialization.

This program was built in order to reinforce our knowledge of OOP and its basic principles such as inheritance. It allowed us to experience the power of OOP and being able to have objects with different states to simulate a real game.

Image