This project was created in May of 2022 as the final project for my AP Computer Science Principles class. It is a sequence memorization test where a random sequence of numbers is generated each playthrough and the user must input the sequence correctly to continue.
Try getting a score above 10!
My high score is 18!
I am the webmaster of the boilermaker rube goldberg team, where we create a rube goldberg machine every year with a different theme and objective. Being the webmaster means I am responsible for maintaining and improving the website. This year, I've already migrated the website to use the React framework. It's linked below!
This project was done in April 2024 for CS348 "Information Systems". It is a full-stack MERN web app that allows the user to view and manage a 3D-printing lab. For those not familiar with 3D-printing, filament is the plastic material that is inserted into the printer for it to use, and GCODE files are the instructions uploaded to the printer to create a certain object.
The app has a summary page to view data visualizations covering the lab's print history and filament usage. The printers are visible in a list on the left sidebar, along with their status. If a printer is clicked, it will open a page containing multiple buttons that perform actions specific to the printer. The page also includes information about the printer, and its complete print history, containing details about every print the machine has done.
Clicking the "Open Print Menu" button opens a menu with every non-empty filament spool, and any spools in use will be greyed out and inaccessible. After choosing a printer, filament spool, GCODE file, and filament usage, a print job can be started.
Also, here is the ERD I created for the app's relational database schema.

This was done with three other students in a course covering object-oriented programming in Java (Purdue CS180). It is a digital marketplace with the ability to act as a seller or customer. My main contributions were the file I/O and multithreading.
The project uses file I/O to read and write data to text files that allows the marketplace to keep track of things like the available items (and their data) as well as account usernames and passwords. The multithreading allows multiple clients to run simultaneously and connect to the server, including update detection to notify customers of any changes in the marketplace since they last refreshed. Lastly, the GUI visually displays the marketplace and available actions based on the user's role.
