Projects
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
- Follow Link: GitHub file
- Navigate to dist folder
- Download BudgetPlannerMVC.jar
- 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
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.