Portfolio
From my formal education at Northeast Wisconsin Technical College, I have had the opportunity to participate in both solo and group coding projects to apply the skills that I have learned. While continuing my undergraduate education at UW Green Bay, I have had the opportunity to work on many more projects. Although this is not a comprehensive list, I featured a few of the select projects that I have had the opportunity to work on.
RestaurantBuddy – NWTC Capstone Project
As a capstone project to complete my Software Developer Associate program at Northeast Wisconsin Technical College, I had the opportunity to piece together a large software application. For this task, I chose the Spring Boot framework so that I could refine my skills in the Java programming language. This project taught me the Spring MVC architecture for REST API design, the Spring Security framework for JWT Token Authentication and Authorization, as well as the Spring Data JPA for database access in large database-driven applications. I was able to code the frontend in JavaScript, making AJAX calls to the backend to fetch information as needed.
As part of a separate class, I created an Android application using Kotlin to interface with the customer portion of the API that I completed as part of my capstone. By completing this mobile application, I learned the basics of activity and fragment navigation, UI components, Firebase and REST API integration, database access using Room, as well as location detection and the Google Maps API.
Kubernetes Configuration – UW Green Bay Corollary Project
Based on the capstone project that I completed while attending NWTC, I had the opportunity to create a single-node Kubernetes cluster for my Cloud Computing class at UW Green Bay based on the Docker Compose configuration that I created for the original project. This project taught me basic Kubernetes concepts such as pods, deployments, services, namespaces, and secrets as well as port forwarding services outside a Kubernetes cluster. I also gained experience working with Helm by creating a basic Helm chart for the project.
Cloud Computing CI/CD Project
While completing the final project for the Cloud Computing class at UW Green Bay, I had the opportunity to apply the server automation and Infrastructure as Code (IaC) tools I have been learning during the course of my platform engineering internship. During this project, I gained experience working with static website AWS platforms such as S3 and CloudFront as well as how to automate the deployment of this website using Jenkins. While not required for the project, I gained further experience working with Ansible on Ubuntu servers and further experience with Terraform on the AWS platform. The automation code used for the course of the project as well as some basic instructions on how to use it can be found in the source code repository listed above.
Advanced Database Storefront Application
While finishing up my Advanced Database class at UW Green Bay, I had the opportunity to apply the skills that I had been learning in MongoDB to implement a basic storefront application. This web application was written in Node.js and used the Express.js framework with the EJS templating system. This project gave me further experience working with complex JavaScript topics such as Promises and asynchronous code, working with MongoDB, and building out GitHub Actions pipelines to automate the publishing of containers to Docker Hub.
Understanding the Kanji
As a final project for my Java class, I decided to create a language learning app to help me study Japanese. One aspect of learning Japanese that many students find difficult is the apparent lack of meaning in the Kanji characters, one of the writing systems used in Japanese. To learn Kanji, I am following James Heisig’s Remembering the Kanji. The study method used in this curriculum requires the user to take notes on and form stories on the Kanji characters. This app helped me to accomplish this goal, all while learning about Java app development and database connections in Java.
While the other projects that I have completed have been more one-off in nature, I have been contributing and pushing changes to this codebase well after I submitted the project for evaluation to my instructor. Some features that I have added include dark theme support, custom database file location, web browser links, and cross-platform support.
Battleship Project (Group-work)
For my second C# class, I was assigned to a team to work on a recreation of the Battleship board game. Although the project quality was far from perfect, we did end up with a fully-working game in the end (even with experimental features). More importantly, my team learned the importance of good communication in a team setting (specifically design patterns) and the importance of good team collaboration software (such as the git version control system, for example).
Discover the States
For my final project in my website coding class, I was assigned the task to create a multiple-page website that would incorporate multimedia content. Since at the time, I was piecing together some road trip footage and posting these videos on YouTube, I decided to create a website to showcase these videos.