Projects

Sophie's Sweets

A screenshot of the project

Github: https://github.com/Hunter-Wigal/Sophies-Sweets

Sophie's Sweets is a business website made for displaying baked goods and for providing customers a way to order. Sophie, a baker local to Parkersburg WV, needed a way to display all of her products in one place and a way to take orders that wasn't through direct messaging. This web application was created just for those purposes. The application is currently deployed through Google Firebase and uses the Google Cloud Firestore for storing order information from customers. It was built using the Angular framework and uses styling from Bootstrap. It also uses Firebase authentication in order to have an admin role that is able to view the currently stored orders.

Online Shop Full-Stack Application

A screenshot of the project

Github: https://github.com/Hunter-Wigal/online-shop-front

This online shop application was a project I came up with to learn a new framework and become more familiar with one I already knew. The application uses Spring Boot for the backend and React for the frontend. While unfinished, it still contains a lot of functionality relevant to selling products online. It allows users to create accounts and view available products before placing them in their cart and checking out. The shop owner can also manage products and orders on an admin page. Data for users is stored in a Postgres database which is managed by the Spring Boot application. Authentication is handled using json web tokens, which are used to keep the user's state. The code for both the front and backend is available on my github profile at: https://github.com/Hunter-Wigal?tab=repositories

MPX Based Operating System

A screenshot of the project

This project was designed for a class assignment and followed a set of guidelines. The assignment was to build a basic operating system, starting with very few standard functions and features. The above image shows the interface, which is console based and accepts text based commands. The goals were provided in the form of modules which provided the guidelines and some basic instructions. The different modules involved console communication (input/output), process and pcb management, context/state management, interleaved process execution, and interrupt driven I/O. The majority of the code was written in C with a small amount of Assembly.

Team Mountaineers GUI

A screenshot of the project

The picture above is a screenshot of one tab in a GUI that was designed to be used when operating the Team Mountaineers rover. Team Mountaineers is the group of students at WVU that participated in the University Rover Challenge (URC), which is a challenge to design and operate a rover that can survive Mars-like conditions. I contributed to this project in my senior year at WVU as my capstone project by modifying the GUI used in the previous year (https: //github.com/team-mountaineers-urc-2023/wanderer_gui) and updating it to work with the rover participating in 2024. The GUI was written in Python and uses the PyQt libary to handle displaying the different components. Some of the biggest contributions I made to this project include rewriting code meant for use with ROS to work with ROS2, writing documentation for future members to better understand the code, and adding quality of life improvements to the GUI's functionality such as recording rover data to files. During the scope of this project, I worked in a team that handled all of the programming aspects of the rover. This team met twice a week to discuss requirements and progress made since the last meeting in an agile like environment.

Memory Machine

A screenshot of the project

Note: Site under maintenance. The Web application I call 'Memory Machine' is a project I created to keep track of various information, such as assignments/tasks, a schedule, and project information. I also used it to learn various concepts related to web development and for testing various HTML related code. The web application was created using the Angular framework and uses Bootstrap for most of the styling. It is deployed on Google Firebase and utilizes Firebase features such as Authentication and the Cloud Firestore. This project is one that has proved to be extremely helpful, as I utilize it almost every day.

Logique-a-la-Crabe

A screenshot of the project

Logique-a-la-Crabe was created to complete goals for a class assignment. The main purpose of this web application was as an introduction to software engineering and web development. The project was completed in a team with Discord and Github as the methodof communication. The team also practiced the agile development model in order to better organize production of the application. The original idea of the application was to be a learning tool for digital logic. The application was supposed to have an interactive, drag and dop canvas for putting together circuits. Due to time constraints, this feature was never finished, but the applicationalso contains 'learning modules' that teach a different subject in logic design along with interactive quizzes. The application was created using the Angular framework and was deployed on Google Firebase. It also uses Bootstrap for component styling.

This Portfolio

Github: https://github.com/Hunter-Wigal/web-portfolio

This portfolio is a project that I created to display a lot of my work. I also used it as a chance to learn more development tools, which is why I created it using React instead of Angular. It utilizes Next.JS and is deployed using AWS Amplify, using AWS Route 53 for the custom domain management. All of the styling was done using CSS with no external styling frameworks.

Django Marketplace Application

A screenshot of the project

Github: https://github.com/Hunter-Wigal/CS440-Team-Delta

This project was created to fulfill a semester long class assignment for a database class. The concept behind the project was to create an application that utilized a database in some way. As per the class requirements, we were assigned a team and the team decided on creating an application similar to Steam, where users could buy or rent digital games. The application was created using Django for both the frontend and backend and a MySQL database for storing information. The frontend is contained within one Django app, while the backend is split across multiple Django apps. The apps follow an api style where actions are performed by making a request to a backend url, which handles connecting to the database and returning a response. The application includes basic features such as registering an account and logging in, 'purchasing' games and viewing your inventory, and adding games to the database with a 'publisher' account.

PyOpenGL Application

A screenshot of the project

Github: https://github.com/Hunter-Wigal/PyOpenGL-Assignment-Demo

This OpenGL application was created for an assignment in a graphics class. The application is written in python and utilizes libraries such as pyopengl, pygame, and pyrr. Pygame serves as the interface and display, allowing the application to be fully interactable using a mouse and keyboard, PyOpenGL serves as the rendering mechanism and uses pyrr to make matrix calculations for the shaders. The models in the application were designed in blender and the textures were found online. The OpenGL portion of the project utilizes shaders to calculate the colors based on provided textures, and also allows for limited lighting effects. The assignment it completed was one to create a scene that included various objects, including a house, vegetation, a street, and a character that waves.