Ngoc To

My Projects

Web Application

Helpdesk

ASP.NET
C#
Helpdesk project Desktop view
Helpdesk project Mobile view

helpdesk website desktop thumbnail
helpdesk website mobile thumbnail

This project is a basic Help Desk website that allows for employee and reports management. It was developed to practice the Model-View-Controller (MVC) architecture in ASP.NET Core while integrating asynchronous JavaScript for dynamic interactions.

The project is deployed on Microsoft Azure.

  • Employee & Report Management systems
  • ASP.NET MVC architecture for structured development
  • Scaffolded authentication with Razor Pages and third-party Google OAuth
  • PDF Report Generation using ASP.NET Core
Understanding Syntax and Learning by Doing

Challenges: Since it had been about five years since I last worked on a C# project, I did not remember the syntax and and the project was totally a relearning process. Furthermore, at that time, I didn't have the core programming knowledge necessary for working with frameworks like ASP.NET.

Solutions: To overcome this, I re-familiarized myself with ASP.NET by building the project step by step, typing out code line by line and referencing official documentation whenever I encountered parts I didn't understand. This approach helped me rebuild my programming fundamentals with the ASP.NET framework and strengthen my understanding of its structure.

Implementing Authentication Beyond Course Requirements

Challenges: Wanting to challenge myself further, I decided to implement user authentication - a feature not required by the course. Working with OAuth login was overwhelming, and the biggest issue was me being afraid of breaking the project structure.

Solutions: To tackle this, I sought guidance from my professor, who helped me understand the necessary configurations with namespace. With this support, I successfully added a basic user account flow. Eventually, I managed to integrate Google OAuth login into the project

Even though I couldn't implement other platforms like Twitter, Instagram, or Facebook due to more complex approval processes, researching different OAuth workflows for various platforms was a valuable learning experience.

Humber District Hospital

ASP.NET
C#
Kirkland Hospital Project Desktop view
Wireframe Planning

kirkland website thumbnail
wireframe thumbnail

This group project, combining skills from both our Programming and Project Management classes, aimed to analyze and improve the existing Kirkland District Hospital website. In the project planning phase, we identified key flaws of the current website and the work flow, including difficulty to use the hospital services, lack of staff-patient interaction, poor UI, and workflow inefficiencies. As a result, we implemented targeted improvements to enhance the website's functionality, usability, and overall efficiency, applying both technical and strategic project management principles.

  • Content Management System
  • Staff and Patient portal
  • Customer Relations Management (Automated emails, communication with patients and donors)
  • E-Commerce (for hospital bills)
  • FAQ
  • Giftshop
  • Donation
  • Job Opportunities
  • Testimonial

I'm responsible for the Staff and Patient portal, as well as the Testimonial feature in this project.

Challenges: As a foreign student and being new to programming, I initially struggled with understanding technical concepts and implementing complex features.

Solutions: To overcome this, I openly communicated with my teammates and took on basic feature development tasks while actively learning more about how to code from them. On the other hand, I actively contributed in wireframing and design to the project, ensuring a balanced and collaborative effort.

CSS Animation

HTML
CSS
JS
responsive image of animation project

This project is a fun project on CSS Animation and Transition practice

  • Most of the shapes are made using CSS
  • The animation are coded with CSS animation
  • Sky colour transition with Javascript on click event

Challenges: One of the biggest challenges in this project was coding the shapes themselves. Creating precise shapes with only CSS took a lot of trial and error

Solutions: To manage this, I tackled the project piece by piece, coding each element patiently. For the shapes I couldn't quite get right with CSS alone, I used actual images as a workaround. In the end, I was able to complete everything on time.

Despite the challenges, I found the process really fun. One of my favorite parts of the project is the sky animation — the sky colour changes dynamically based on the position of the sun.

Unity

Candy Land

Unity
C#
2D
Unity Engine - Candy Land

A practice Unity game project that is similar to Flappy Bird.

  • Tap or click to make the candy bird flap and stay airborne
  • Avoid obstacles by navigating through the gaps
  • The game is available online or on PC with scalable resolution/fullscreen

Challenges: As someone new to Unity, it was overwhelming at first to structure the code in a clean and manageable way. Managing game logic, transitions, and organizing scripts across scenes quickly got messy.

Solutions: I followed the in class example to grasp the logic behind the code. While the structure wasn't perfect, the process helped me understand better ways to organize things for my future projects.

Challenges: I ended up adding a lot of visual elements, which made it harder to manage and optimize the game within the deadline. I couldn't fine-tune every corner of the gameplay.

Solutions: I focused on what mattered most—getting a playable, visually appealing game ready and got it finished. Even though the project took longer than it was supposed to, I was very happy with the result of the parallax that I planned out.

Ship Assault

Unity
C#
2D
Unity Engine - Ship Assault

Unity game project that focuses on 2D control and shooting at enemies.

  • Player controls ship in a 2D water-based map.
  • Enemy ships spawn in waves. Player gains points by shooting down the enemy ship.
  • Players can choose the game's difficulty level, which affects how fast and how many enemy ships appear.
  • The map layout is carefully designed with obstacles and aesthetic details.
  • Explosion sprites are triggered upon enemy ship destruction.

Challenges: Initially, making the ship rotate smoothly based on player input was tricky. I wanted the ship to feel responsive but natural, avoiding stiff or awkward movement.

Solutions: I watched multiple tutorials on YouTube, and reviewed demo code from class. After trial and error, I implemented a solution that resulted in smooth rotation based on directional input. It really gave the movement a more polished touch.

Challenges: Due to the stage layout I built, I noticed the gameplay was too easy at certain points even at high difficulty. The enemy ships couldn't navigate around the environment well.

Solutions: I tried several online tutorials and AI navigation methods, including Unity's built-in NavMesh and alternative 2D pathfinding solutions. Unfortunately, I couldn't get it fully working before the deadline. After submission, I reached out to my professor, but we didn't get the chance to go through the code. Even though it's unfinished, it's an area I'm motivated to improve in for future projects.

Java

Student Loan Calculator

Java
JavaSwing
Student Loan Calculator

A student loan calculator

Challenges:

Solutions:

C++

Coming Soon...