Projects

Project source code on GitHub
* Click projects to collapse & expand

Budget Application

About

This application allows the user to create budgets via a user interface. During budget creation, the user goes through multiple pages prompting for information like income and expenses. Expenses consist of different information including priority, that is set using drag and drop. All entered information is displayed through list views and individual month and expense cells are editable.

I am creating this application using JavaFX, Java, FXML, and CSS. I am heavily using the MVC design pattern for user interface aspects of this project. Java and JavaFX are used for the controller and model while FXML and CSS are being used for the view. The Observer pattern is used for changes made to different aspects of the overall budget. The Factory pattern is used to create different display cells, like expenses and months.

Languages / Technologies:

  • Java
  • JavaFX
  • FXML
  • CSS
  • NetBeans IDE

Accomplishments

  • Create a polished user interface with Java, Javafx, FXML, and CSS.
  • Utilize the MVC, Observer, and Factory patterns in a meaningful way.
  • Refactor code along the process to decouple code, modulerize features, and practice good Object Oriented Principles.
  • Scrub user input using Regex and Scanner methods to ensure proper input.
  • Implemented a working drag and drop system when setting priority using logic.

To Run

  1. Follow Link: GitHub file
  2. Navigate to dist folder
  3. Download BudgetPlannerMVC.jar
  4. Run jar file

Process:

I started this project with knowledge I learned from taking a GUI class at EWU. During the early stages I took a course on LinkedIn Learning to get a better understanding of JavaFX. While coding this application I regularly reference Oracle's JavaFX and Java API.

I am practicing Agile principles by using Trello.com to create user stories and set story velocities. As I make progress I submit my code to my remote GitHub repository. Each time I send a commit to GitHub my project is in working order. During the course of this project, I am committed to diving deeper into code documentation via APIs, refactoring my code to maintain good O.O. Principles, and intentionally writing clean readable code.

Stage:

This project is in progress.

This Website

About:

You're already here so you know a bit about my website. It's purpose is to showcase my abilities as a Software Engineer. Enjoy!

Accomplishments

  • Implement new features that I'm learning in a Udemy Web Developement Course with JavaScript, HTML, and CSS. Including code structure, flexbox, and media calls.
  • Renew my WebDev capabilites.
  • I made a responsive polished website that adjusts for screen sizes.
  • I hosted this website through AWS.

Languages / Technologies:

  • JavaScript
  • HTML
  • CSS
  • Microsoft Visual Studio Code
  • Hosted on Amazon Web Services (AWS)

Process:

I began with a basic website mostly made with HTML and a little CSS. As I made progress on a Web Dev class on Udemy.com I added complexity and visuals, using CSS and JavaScript. I reference MDN web docs often for API documentation.

Stage:

This website is currently complete but will continue to be updated as I progress as a developer. :)

DinnerClub Website

Visit Site Check it out!

About:

I made this website because my wife and her brother started a dinner club where they meet once a week and plan a new interesting dinner to be intentional about good food and quality family time.

Accomplishments:

  • I was able to successfully create and host a website after attending a quarter of Web Dev at EWU.
  • I used each language that I was exposed to during the course of the quarter.

Languages / Technologies:

  • JavaScript
  • HTML
  • CSS
  • PHP
  • Hosted through siteground.com
  • Visual Studio Code
  • XAMPP-Control
  • MySQL

Stage

  • This is a work in progress
  • Tabs are functional and each page or overlay is functional.
  • Database stores and retrieves information (adding and deleting entries works)
  • Contacts tab works to send emails
  • Calendar is in working condition (adding events locally and veiwing calendar)
  • Page scales appropriately

To Do

  • Calendar stores events locally and cannot be accessed from another computer
  • Formatting of recipe entry needs work for readability
  • Ability to upload images for recipes
  • When adding to or deleting from Recipes user is brought to another page
  • Editting current database entry is not working (although deleting entry works)

Trivia Maze Game

About:

This is my teams final project for CSCD 350 SOFTWARE DEVELOPMENT PRINCIPLES. I was team lead during the life of the project.

During this project we practiced Agile principles, used GitHub for version control, and Trello.com to write tickets and monitor progress. We met weekly for team meatings and presented progress and final product to our peers.

Accomplishments:

  • I created a maze map that dynamically changed as the player interacted with it and changed the map using String manipulation and logic.
  • I wrote the maze object where the maze is created as a 2D matrix and while the player traverses the maze I used dynamic programing to recursively check if the end of the maze was still reachable.
  • I was successful as team lead. I ensured we met for meetings, set reachable tasks, and completed our project on time.

Languages / Technologies:

  • Java
  • SQL
  • GitHub.com
  • PivotalTracker.com
  • Eclipse IDE
  • SQLLite

Team Members:

  • Steven McConnell
  • Ian Oleson
  • Jacob Berger

Game Info:

The player enters a trivia maze hosted by a devious maze master who secretly wishes you ill will. Go through doors by answering movie trivia and try to make it to the bottom right room to win. If you answer a question incorrectly that door is locked to you for the remainder of the game. Block yourself from reaching the end and you lose.

View Project:

View in GitHub