Web App Computing: Tasktician Productivity PWA

This artifact is the final project for my Web App Computing class. Our task was to build a Progressive Web Application (PWA), a responsive website with added capabilities such as installation and offline use. My team created a productivity and study app that allows the user to see their weekly calendar, create to-do items, make weekly study goals, and set timers for studying. We also implemented drag-and-drop features so that to-do items could be dragged over and added to the calendar. This project was built using React with a Node and Express backend, a MySQL database, and Docker for containerization. 

Databases:
Jormungander Game Library

The final project for this class was very open-ended, with the only requirement being that we were required to use MySQL for the database. My team decided to make a game library app where developers could post games to the site, while users could look through the various games, see game information, and rate purchased games. For this project, I designed the database schemas and workflows and created two stored procedures for the best-rated games and the most popular games. In addition to the MySQL database, we used React for the frontend and Node and Express for the backend.

Self Driving Cars Theory and Practice: Self Driving Car with Crosswalk and Stoplight Detection

Over the course of the semester, we added code to small mechanical cars to to allow them to follow a path and stay inside the lines without the need for a controller. For the final project, my team and I decided to add crosswalk and  traffic light detection functionality to the car so it would stop at the crosswalk when there was something blocking the path even if the light was green. This project put me completely out of my comfort zone because I had never worked with hardware and it was a very different type of programming than what I was used to. We used the ROS2 package for Python as well as OpenCV to detect the color of the stoplight and the white boundaries of the crosswalk.

Software Engineering: CoffeeMaker

This project featured three user roles for a customer, barista, and manager. The customer could log in to see the menu and buy beverages, the barista could fulfill the orders, and the manager could add ingredients to the inventory and add menu items. The goal of the class was to work together in a team while following the Software Development Lifecycle and practicing Agile iterative development. For this project, my team and I used software development best practices such as feature branches, pull requests, code reviews, and test-driven development. I also created use case diagrams, drafted user and developer guides, and formulated the API calls that were needed. This project used Angualr.js for the frontend, Java and Spring for the backend, and MySQL for the database. 

Automated Learning and Data Analysis: Animal Classifier Neural Network

For this project, I was required to research and create a project on a novel automated learning method. My team and I decided to explore animal classification with convolutional neural networks (CNNs), and specifically what methods of CNN structure yield the highest accuracy for classification. We created three experimental CNN models, each with different preprocessing  techniques and compared their accuracy to a control model. We used Keras for the training of the CNNs, Python Imaging Library (PIL) for the preprocessing, OpenCV for the augmentation, and Tkinter to create a basic interface that the user could upload a picture of an animal to and ask for a classification. This project was challenging for me because I had never explored machine learning at this depth before and getting the CNNs to work the way we wanted them to was definitely a trial and error process. However, I liked that this project took me out of my comfort zone and I now feel much more knowledgeable about the underlying structure of and the training that goes into the AI models that are so popular today. 

 

Powered By EmbedPress

Powered By EmbedPress

Python Applications: Python Face Identification with OpenCV

For this class, I was able to explore different applications of the Python language such as data visualization with Matplotlib and Seaborn; data manipulation and analysis with Pandas and NumPy; web scraping with Beautiful Soup, Scrapy, and Selenium; modeling with Scikit-Learn, and GUI development with Tkinter. Our final project for this class was an open exploration of one Python package of our choice and the creation of an educational notebook about this package. I chose OpenCV and decided to explore its image processing abilities, edge detection algorithms, and face detection capabilities. Learning Python has always been a goal of mine, so taking this class was a great experience for me and I learned a lot about the capabilities of the Python language.