Matchmaking System
Project Summary
I know what you're thinking.
Dave's gone off his rocker and has created his own dating service. That's not really what this project is about.
In the VMware Colorado Springs office, we play foosball.
We play a lot of foosball.
However, there are times when it can be difficult to find a good game. The skill level in the office varies wildly. Beyond that, it's really tough for new hires to figure out where they fit in skill wise and who they should be playing with.
The core of this project is a basic approach at determining player's skill at a given game in relationship to other players. It takes user provided matches and evaluates all players of the match to determine new ratings based upon various algorithms.
However, there is also fluff around the system to encourage users to utilize it. Users can challenge other users to games. There are leaderboards generated for all of the stats calculated by the various algorithms. Users can also ask the system for suggested games that will be even based upon their favorite algorithm.
Current State
I've become increasingly unsatisfied with the JavaServer Pages (jsp) approach I had taken with the front-end of the project, and am now in the middle of a re-write using ExtJS. The project is being tracked in Pivotal, and I'll post a reference to that eventually.
Technology Used
The project is based around these technologies:
- Java
- Spring (Core, Web MVC, Security)
- Hibernate
- PostgreSQL
- Jackson
- JUnit
- EasyMock
- Maven
- Git
- Ext JS 4.1
Availability
The project is not currently available. It is my goal to post it on github soon, but I'm a little embarrassed about the code quality. I'm also planning on putting it up in CloudFoundry some day.