For our project our group implemented Wicket, CSS, JavaScript and Ajax to give our web app the look that we would like it to have before we add the functionality (a project for next semester.) For this assignment we were evaluated on three prime directives:
1. The system successfully accomplishes a useful task.
I believe that our system will help users of teamhawai‘i's house with a fun and simple interface to easily obtain data regarding the house's functions. I think our group tried to push the design to be fairly interactive, and to allow the user to take control of the system when needed. The house functions may be a trivial for this assignment, but they're there to set the base to build off of for future development.
2. An external user can successfully install and use the system.
Our system is packaged and ready for distribution. Download the latest version from our site's downloads section and be sure to read the installation guide to avoid any problems. The system is completely compressed into a .jar file, and it contains almost everything needed to run the web app locally on the host's computer (you need java installed on the system to run the .jar.) Once you've downloaded our latest distribution, navigate to the directory the .jar file is located in Terminal or command prompt and type the command: %java -jar filename to run the app. Ant will go through the build process to create all the class files and set up Jetty to act as the web server. After the installation process is completed the user will be prompted to visit the URL where they can view the web page.
3. An external developer can successfully understand and enhance the system.
Our code is well documented to help any new developers understand the program's layout. This was pretty much the first time anyone in our group has actually tried web programming, but we tried to document our HTML because there are probably a few coding conventions we didn't follow there. The pages are pretty modular. To add a new page to the project, a developer just needs to extend the base page and provide a side bar. We look towards improving the layout of the system to allow it to be more modular and to include better CSS rules to make everything more consistent.
Final Thoughts
Overall, this was a great experience. I've been meaning to get into web development, and this project gave me a little taste of it. From a software development standpoint, this exposed me to working with a group on a program. We ran into a few problems including: inconsistent file versions, variable names and different coding conventions our group ran into during the development process, but we were able to fix most of them. There's a lot of work that goes into working in a group project, but I believe the most important factor is to always have open lines of communication with your group members.