Iteration Plan:

Iteration 4:

To begin with, for this iteration we switched to using Maven to deploy our code. We have two Maven projects in the repository; Terminator and TerminatorWebsite.

The idea is that Terminator is a library containing the model, and that the TerminatorWebsite project is the Tomcat web application (a *.war file) that uses the Terminator library. As of this iteration, nearly all of the backend is done, but we have made little progress on the frontend-- we did not get quite as much done as we wanted.

Maven currently will spit out a *.jar for the Terminator project; see the README.md file at the root of the git repository for information about this.

We have continued learning Spring, JSP and JSTL, and we now know how they work-- we've run some basic tests and successfully experimented with the functionality, but have not yet hooked up our backend code to it.

On the backend, we have increased our unit test coverage, implementing unimplemented unit tests and fixing the code such that most of the implemented tests pass. We also worked on adding arbitration and administration features.

We also continued working on Hibernate. We have a PostgreSQL database with tables for accounts running on our ACM VM (which is currently inaccessible because Ben Rosser decided it would be a great idea to take the ACM cluster down for maintenance the day before this iteration was due), but code to read and write basic account data was written and Javadoc'd.

There are currently no JUnit tests for this code because we can't assume that the systems we are testing on will have PostgreSQL instances set up. This is something we can probably look at fixing for iteration 5.

Iteration 5:

For this iteration, we're now planning to primarily focus on implementing the frontend. We may add extra features (such as more complicated KillGraphs) to the backend, as originally planned, but given how we have seemed to have less time than expected for most of the project, it's likely that this will slip to iteration 6.

Basic persistance will probably also be finished in time for this iteration. Not all of game data may be being written to the database at this point, but most of it should be.

In other words, we expect to have a functional web application that is communicating with the model (using Spring), and is writing its data to a PostgreSQL database. The entire software stack should, at this point, be in place. It should be possible to log in and actually play a game. The GUI may not be fully fleshed out yet, however.

Iteration 6:

We will probably not have time to implement a working Android client in time for iteration 6, but we may be able to at least implement the JSON API on the server that it can communicate with.

It is more likely we will spend iteration 6 further polishing the GUI and persistance, implementing whatever wasn't done yet on those parts of the project.

Depending on how much of those parts are completed by iteration 5, we may instead be able to spend interation 6 implementing extra features, such as more complicated KillGraphs and alternative rules. In this case, we may attempt to at least create a basic Android client.