CampFind Full-Stack Website
2020-Ongoing
The picture shown is an in-progress photo of this website. The final product will be a crowd-sourced local campground review and social networking site, where users can see postings about different campgrounds, what they're rated, and comments. The front-end design includes HTML, CSS, and Javascript.The website also includes back-end features such as comments, login and password,and user postings. ExpressJS is used for the NodeJS framework. MongoDB is used to create and connect different databases to store and exchange information. Lastly, PassportJS is used to integrate authorization and authentication features such as login and passwords.
While proving to be my most difficult project to date, I've learned a great deal about back-end programming. This project helped me become familiar with technologies that are necessary for building a fully functioning website. Once the project is completed I'll be proud to say that I'm on my way to being a full-stack developer.
Spot the Color Game
2020
Spot the Color is a game in which the user must click on the correct color that is described in the header as an RGB value. The user picks from a random color palette that can contain either 6 colors or 3, depending the on the game difficulty that the user can select. The current difficulty is displayed in highlighted text. There is also the option to select a new color from a new color palette by clicking on the "new colors" button. Every time the user clicks on the incorrect color, that color will disappear and the text "Try Again" will appear on the header. Once the correct color is chosen, the main header and the entire color palette will change to the given color. This game is made from HTML, CSS, and regular Javascript. This project helped develop my skills with Javascipt, DOM manipulation, loops, and event handling.
QPID Dating Website
2020-Ongoing
After going on a few dates and quickly running out of date ideas, I decided to create QPID: A website that allows users to find different date ideas by category. Some categories include cheap, adventurous, and creative dates. As of now, the front-end design is mostly complete but I have hopes to add back-end features in the future that include user logins, user postings about their own date experiences, comments, and reviews of certain date ideas. Reviews and comments will help decide "trending dates" that will show the hghest rated and trending date ideas. Currently the website is made with HTML, CSS, and some Javascript for forms and basic fade and scroll animations.
Image Gallery
2020
This image gallery was my first project using the Bootstrap 3 grid layout. It's a straight-forward website in which I learned how to input navbars, glyphicons, jumbotrons and place pictures of different sizes within the bootstrap grid. This project also gave me a good understanding of anchor tags and how to reference pictures from the internet.
C++ Snake Game
2019
This game is run on the user's computer terminal and the player uses the "W", "A", "S", "D" keys to control the snake. The objective is to eat the fruit, which is shown as an "F" on the screen, and score points. Every time the player obtains the fruit, his/her score goes up by ten, the snake gets longer, and the fruit moves to a random location within the playing field. If the player, at any time, touches the border of the playing field, they lose and the application is closed. This fun game helped me develop my skills with arrays, for loops, user inputs, and switch cases.
Drum-Playing Robot
University of Waterloo
2019
This drumbot was created and programmed by me and a few friends in the language C. The Drum Bot, on activation, queries the user for what it should do. Then the user selects from a variety of options, and the robot enters the specified mode. With Automatic Mode, the robot queries the user for a file and then starts reading it. It runs its motors to turn the arms of the robot according to the pattern written on file, composed of 1's ,2's, and 3's.
In Manual Mode, the Drum Bot waits for an IR input from the user's IR remote, and then it moves an arm corresponding to the user’s input. All the while, it records what the user plays onto a custom file that the user can then play at any time in Automatic Mode after Manual Mode finishes. The user exits Manual Mode by pressing the exit button on the remote.
In Metronome Mode, the Drum Bot activates a metronome, in which the user can change the tempo in beats-per-minute (BPM). The robot plays consistent beeping noises at the specified BPM, which the user can change dynamically within the metronome itself. The user can press the exit button to exit the program.
This project significantly improved my understanding of embedded programming and sensors. I became very good at working with file input and output, sensor and button input, timers, and motor encoders.
Prevost Interior LED Light Strips
Hamsar Diversco-Burlington, ON
2020
The photo shown is the first preliminary drawing of one LED light strip designed for the interior cabin of a Prevost mobile home. This drawing was originally a model that I had made in which the extrusion. rubber seal, and wire harness were designed myself. These drawings and 3D models greatly helped me to understand the positioning of components in 3D space as well as mating relationships