WeCheckSalary

***Winner of the 2017 Semester Monash University Industrial Experience Expo***

Description:
This project is an ASP.NET project that provides the user the ability to check what the average wage for a selected occupation, gender, and professional level.  The website also gives ways to improve, including:

  • Data visualization regarding industry trends
  • A list of short/online courses
  • The average salaries for the top 10 suburbs (nationally and state)
  • Resume and negotiation tips
    Current Build:
  1. First Iteration
    • Designed the star schema and the creation SQL scripts for the data warehouse.
    • From the database generated the models, views, and controllers.
    • Wrote the C# code to extend the auto-generated controllers.
  2. Second Iteration
    • Redesigned the wage checker to meet design specifications.
  3. Third Iteration
    • Developed the JavaScript code that interacts with the Google maps API and dynamically places markers based on user inputs.

Preview:

Source:
Closed source – Monash University is the maintainer (gail.bourne@monash.edu)
Future Iterations:

  • Adding a automatic resume generator based on user inputs.
  • A BBS board that will allow users to post their experiences.
  • A language translator that will translate the site into multiple languages.

Contributing Members:

  • Jeffrey Middendorf (MVC design, Data warehouse design, C#, JavaScript)
  • ShanShan Liu (UI, UX, CSS, HTML)
  • Naijin Lu (Data Analytics, Server Maintenance, Data sourcing, Tableau)
  • Shao Ma (Report writing, security, testing, product videos)

Average Aussie Banking System (Swing)

Description:
This project is Swing implementation of the Average Aussie Banking project.  This provides full create, read, update, and delete functionalities for the users of the system.  There is a search feature that searches the database based on id, first name, last name, email, and type including partial “%like%” searches.  It also has a feature to test the REST server.
Current Build:

  1. Third iteration
    • Created the layout of the graphical user interface (GUI) and add all of the components to the layouts.
    • Created a controller class that implements that implements action listener.
    • Add listeners and action events to the appropriate components.
    • Provided the methods that invoke the EJB to provide the required functionality.

Preview:

Source:
https://github.com/jmiddendo/BankingExampleSwingApp
Future Iterations:

  • Add the ability to add a transaction to the system.
  • Add a login to provide security.

Average Aussie Banking System (REST)

Description:
This project is implements a REST server that exposes the entities for the Average Aussie Banking system.  It provides @GET methods to search for users by type, email, and id.  It also provides a @GET method to search transactions by type.
Current Build:

  1. Third Iteration
    • Developed all the entities based on the existing tables in the database.
    • Developed the REST class based on the generated entity classes.
    • Implemented the four Named queries to provide the required functionalities.

Preview:

Source:
Not Listed
Future Iterations:

  • Add security to restrict access to sensitive data.
  • Expose the remaining Named queries.

Average Aussie Banking System (EJB)

Description:
This project is the implementation of the remote interfaces to provide session beans for the Average Aussie Banking System.  This means that this project contains class that implement all of the business logic for the system.  It also uses a container managed entity manager to implement persistence.
Current Build:

  1. First Iteration
    • Implements a @Remote EJB that manages the BankingTransaction entities in the databases.
    • Adds functionality the provides create, read, user, and delete functionality to the class.
    • Provides search functionalities.
  2. Second Iteration
    • Implements @Remote EJB for BankUser and Account entities with full CRUD and search capabilities.
  3. Third Iteration
    • Creates an EJB to consume the REST server for the system.

Preview:

Source:
https://github.com/jmiddendo/BankingExampleEJB

https://github.com/jmiddendo/BankingExampleCommon
Future Iterations:

  • Add functionality to search by all available attributes.

Average Aussie Banking System (Web Client)

Description:
This project is web application using JavaServer Faces (JSF) to serve as the front-end to the Average Aussie Banking System.  The application provides form-based authentication as the security.  Once authenticated, employees can manage the users in the system.  The customer can update their details and add transactions.
Current Build:

  1. First Iteration
    • Adds functionality to search the transactions by id, name, or type.
  2.  Second Iteration
    • Adds create, read, update, and delete functionality for the BankUser entities.
    • Adds the ability to add a BankTransaction.
    • Add the ability for a customer to update their own profile.
  3. Third Iteration
    • Add form-based authentication using the JAAS API java security.
    • Added the ability to transfer to other customers and not just between their own accounts.
    • Added the ability to search for a user based on id, first name, last name, type, and email using “%like%.”

Preview:

Source:
https://github.com/jmiddendo/BankingExampleWar
Future Iterations:

  • Create an AngularJS implementation for the system.
  • Add the ability to create accounts.

Picture Attribution:

WordPress e-Portfolio

Description:
This project is a WordPress website that will be used to demonstrate projects that I worked on with a little more information like description, work completed and technologies used so far, a gallery of screen-prints, a link to the version control repository (if applicable), and future iterations.
Current Build:

  • Set up a Linux Apache MySQL PHP (LAMP) web server
  • Set up SSL for website
  • Installed and configured WordPress
  • Updated First Project

Preview:
Reserved
Source:
Not Listed
Future Iterations:

  • Update for school projects
  • Update for personal projects

Hotel Broker System Using Java Socket Message Passing

Description:
This project is a hotel broker system that accepts communications from a client.  The client can  request information about what area and hotels the broker services and submit booking information.  The broker accepts the request and queries the appropriate hotel to process the request.  The hotel communicates with the database and responds to the broker.  The broker returns the response back to the client.
Current Build:

  1. First Iteration
    • Created a protocol to standardize communication between the network tiers.
    • Developed a hotel broker that establishes a socket that listens for a client.
    • Created a client that passes messages to the broker.
  2. Second Iteration
    • Designed a database that houses the database that the broker queries.
  3. Third Iteration
    • Programmed a hotel server that queries the database.
    • Updated the broker to serve as the client for the new hotel server.

Preview:

Source:
https://github.com/jmiddendo/HotelBrokerSocketProject

Future Iterations:

  • Full create, read, update, and delete (CRUD) functionalities for the client.
  • A login to identify the client communicating.
  • Security to protect the payment information.

Battleship

Description:
This a text-based version of HASBRO’s Battleship game. The user can choose one or two players. The player then sets up their ships on the game board. The players take turns firing at the opposing person’s ship. The computer will automatically take the shot for one player. This will continue until the all the ships are sunk.
Current Build:

  • Developed the board model and game controller to display the model.
  • Create a method that allows a player to place ships on the board checking to make sure that their is no overlap.
  • Designed a method that automatically assigns the computer ships to the board.
  • Implemented the ability to take a shot at the opposing player’s ships.

Preview:

Source:
https://github.com/jmiddendo/Battleship
Future Iterations:

  • Implement server socket communication to allow two players to play from different machines.
  • Update the the computer’s automated turn to take into account prior shots and not completely random.
  • Include a login to track a player’s habits over time.

Tic Tac Toe

Description:
This project is a Tic Tac Toe game that accepts a user input on a game board and continues until all squares are full or a user gets three in a row.
Current Build:

  • Holds a game board model.
  • Provides an interface to accept user input.
  • Analyze board to determine winner.

Preview:

Source:
https://github.com/jmiddendo/PythonSamples
Future Iterations:

  • No future iterations planned

Hangman

Description:
This project is a hangman game.  The game loads a Scrabble word list and chooses a random word from the list.  The user then guesses letters until they solve the word or accumulate too many incorrect guesses.
Current Build:

  • Program loads a Scrabble word list.
  • Selects a random word from the list.
  • Provides an interface that accepts a user letter guess.
  • Tracks the number of incorrect guess.

Preview:

Source:
https://github.com/jmiddendo/PythonSamples/tree/master/Hangman
Future Iterations:

  • A loop that checks if the user wants to play again.