Monday, December 8, 2008

Final Implementation - DueDates

Throughout the semester, we have been working on this DueDates Project. I just started out as a command line program that incorporated screen scraping using Java and HTTPUnit. The next thing you know, its a full-on web application that uses all functionality that we programmed throughout the semester. If you step back and take a look at the bigger picture, the process was actually quite intriguing. After going through semester after semester, writing programs and running them through a command line, it was "satisfying" seeing them come to life on a web browser. I think this was actually the most fun I had in regards to a project-type assignment.

We were able to finish all core requirements with no real problems. I think the key to getting to this state was to have started early and tackle obstacles quickly. The night the assignment was assigned, I went ahead and got the wicket files and configuration setup with a basic CSS layout, with the ability to fetch due dates and output them into the screen. The others were glad to have the framework for the system. The only thing that they had to get through was the learning the code of my previous DueDates system, DueDate-Blue. We initially voted on which system we were going to adopt, so after the choose, I had to run through the way the classes were coupled and what not. I believe our work flow as a group, was great. We originally appointed a "leader", which happened to be John Ancheta. I personally think that he did a good job handling scheduled Google chat sessions, calendar trajectory, task distribution, basically trying to keep the group afloat and on the same level.

Some aspects of working on this 2.0 version were easier, in a sense that the functionality of the system was already implemented; The hard part was learning techniques and logic that wicket programmers use. Since my group member, Yasu Kaneshige had a good deal of CSS practice, he did take over the visual design aspect of the system. Anthony Du and I tried to tackle the extra credit requirement. The use of Derby and connection drops gave me a huge headache; it was frustrating because I did have it functionally working the first night, then after doing pmd and findbug fixes, the connection would drop. I guess the fact that I had to try and learn it in 2 days played a role also. I would love to try and implement another project with a database back end.

After all is said and done, this project was great. Aside from the errors from the hacky-stat setup, and the downtime from Thanksgiving weekend, I didn't find anything to be much of a bother or setback. If there was one thing that I could change, is when we made the jump from 1 partner to 3 partners: the ability to keep your existing partner and join a pair. I really think the end product of all project would have significantly increased.