Java Projects

Home > Projects > Java projects

Java is the programming language I have the most experience with. I started programming in Java in high school and the majority of JMU's Computer Science program is taught in Java. Below are my favorite and most complex Java projects.

Application built on framework
Final framework design UML

Application suite framework

Tech used: Java, Java Swing, Junit, Visual Paradigm

In my senior year I took a software analysis and design class. The project for the semester was to create a suite of applications based on a common framework that worked like production software would. That means saving, localization, error logging, assertions, undo and redo support, thorough testing, and most importantly intelligent use of design patterns. My team was tasked with designing and implementing the framework the other groups would be building applications on top of. The UML of the design is to the right along with an screenshot of one of the applications built on our framework.

Midgame screenshot

In The Abstract - Game

Tech used: Java, Adobe Illustrator, Visual Paradigm, Junit

In the abstract is a game based on a story told by a professor at JMU about his college years (that's his face crudely pasted on the stick figure). The goal is to jump off the train before it gets going too fast. All graphics were created from scratch for copyright reasons but, since this was a Computer Science class, the focus was the use of design patterns to make a cohesive and decoupled multimedia application for displaying dynamic visual content. This was my first dive into a custom GUI rendering with the Graphics object as opposed to a pre-made library like Java Swing.

Salesforce bulk api docs

Salesforce data scrubbing tool

Tech used: Java, Salesforce, MSSQL, Postman, CSV, Workbench

This project was my main task during my internship in the Summer of 2018 at Cvent. The goal was to programmatically modify the username of hundreds of thousands of users. To do this I wrote a Java program to download the user data in batches using the Salesforce bulk data API as CSV files. It then combined an identifier from the internal MSSQL server and made the appropriate changes to the username before sending the updated record back to the Salesforce API.

I learned a lot about how APIs work through the testing I needed to do with Postman and about how SQL works by writing the queries needed for this project.

An example Huffman tree

File Compression

Tech used: Java, Huffman encoding

In my algorithms class at JMU we were tasked with building a file compression program using Huffman encoding. I found this project particularly interesting as file compression had always been a special sort of magic to me, I could not wrap my head around how it worked. Being able to implement an algorithm that successfully compressed and decompressed binary files was a really exciting accomplishment for me.