UNIVERSITY OF GUELPH

Giavinh Lam

Software DeveloperB. Eng

Thumbnail for Plop

Plop

Open-source project management web application for teams. It is implemented with React.js for the frontend, Adonis.js (Node.js framework) as the REST API backend, Cloudinary for image storage, and a PostgreSQL database. It uses Ant Design for UI styling. Some features include task drag-and-drop dashboards, administration hierarchy, chat, logs, and analytics.

VIEW DETAILS →
Thumbnail for CodeConnect

CodeConnect

Platform for facilitating collaboration between software developers and establishing an online portfolio. The web app is built using React.js, TypeScript, Redux Toolkit (for state management) and is styled using Material-UI and styled-components. The mobile app is built with React Native. The backend REST API is built with Django (Python). It is still a work in progress (WIP).

VIEW DETAILS →
Thumbnail for GymTrack

GymTrack

This progressive web application allows users to track and manage their fitness journey easily on mobile or web. It is written using React.js, TypeScript, and Redux Toolkit. For styling, Reactstrap (Bootstrap) and SASS/SCSS (with BEM methodology) is used. It connects with Google's Firebase for authentication and uses MongoDB for application storage (ie. user credentials, routines... etc.). It is still a work in progress (WIP).

VIEW DETAILS →
Thumbnail for React Body Highlighter

React Body Highlighter

Open-source React.js NPM package that provides posterior (back) and anterior (front) views of a body model and accepts a variety of props to highlight different muscles. I created this as I could not find a compatible solution to use myself for my React.js fitness web application (GymTrack). This NPM package is also written in TypeScript to provide type safety and IntelliSense.

VIEW DETAILS →
Thumbnail for Banana Ripeness Detector

Banana Ripeness Detector

Open-ended CIS4720 (image processing) project for detecting the ripeness of a banana. The web application makes it easy to test whether a banana is ripe, overripe, or underripe. This project was created using React.js (frontend) and Python 3 (backend). I personally worked on the Python algorithm and design for this project while my group members worked on the frontend and backend components. The initial load for the demo may take a while as it is hosted for free using Heroku Dynos.

VIEW DETAILS →
Thumbnail for Lego

Lego

This group engineering project is composed of many different modules (frontend, backend, data extractor module, and reinforcement environment). I worked on the front-end application for the project demo, the data extraction module, and the machine learning environment's reward function. The image above shows the basic React.js frontend demo skeleton and can be found in this repository and was created using React.js and Material-UI. The data extraction module was written in Node.js. The web scraping and API calling code can be found in this repository. Finally, the build stability reward function I designed for the reinforcement learning environment was programmed in Python 3. Code for this module along with the Jupyter Notebook can be found in this repository.

VIEW DETAILS →
Thumbnail for Passport

Passport

This project was designed to revamp the UI and UX of NCR's product Passport in React.js. Passport is a product which allows depositing checks at various locations however it was plagued by poor routing, UX, and design with JSPs (Java Server Pages). This application was developed by a group of co-ops for a two day long hackathon (NCR's Global Hackathon) and consists of a frontend web application, backend (Node.js), and mobile app (React Native). A feature using websockets and QR code scanning was added to solve a problem a teller might run into where the scanner breaks. Now, the teller may take a picture of the check and send it directly to the correct deposit. I mainly worked on the frontend design and functionality. For more information about the project and its functionality, check out the video here.

VIEW DETAILS →
Thumbnail for French Conjugator

French Conjugator

An Android app I created for fun to help users with their french conjugation skills. It was created using Java in Android Studio.

VIEW DETAILS →