Table of contents (hide)
Welcome to the Term Project page!
1. Overview
To complete the term project you will work in either pairs or groups of three, and develop a web application. This web application can be basically anything you want as long as it is approved by the teaching staff.
The project has two phases: design and development. During the design phase you will be working on your project proposals (as described below). This will be followed by the development phase.
During the last week of the semester your project will be frontally evaluated and graded. You will have to explain your design, implementation, various features and show good understanding of your web application. In addition, each group will have approximately 10 minutes to present their project to class.
After the presentation, the whole class + the teaching staff will vote for the best project. The winners will be presented with a really cool prize!
The WOW effect! Although not required, try to think of a really interesting idea and plan a great user interface. There is nothing like a great interface to make the users enjoy your website. Also, it might help you get those extra votes for the grand prize at the end of the course! :)
1.1 The design phase
In order to get your project approved you must submit a project proposal. The project proposal will be returned to you with comments; you will then finalize your proposals by making the necessary modifications.
Your proposal somehow resembles a contract - you should make an effort to develop your application as close as possible to the one you proposed. Part of your grade depends on how close you actually are to your proposal.
1.2 The development phase
Starts right after the design phase. During this time period you will implement the proposed design.
2. Requirements
There are several requirements you must comply with.
- Groups of 2-3 students are mandatory.
- Your web application must adhere to the approved project proposal.
- You have to use some of the material learned in class/tutorial sessions during weeks 1-9.
- You are encouraged to use some of the material learned in class/tutorial sessions after week 9.
- Your web application must:
- be usable.
- be deployable on the Tomcat web server.
- have an easy and clear user interface.
- be fully supported by at least two of the following web browsers: Internet Explorer, Mozilla Firefox, Safari, Google Chrome.
- must pass all validation tests, i.e. comply with the different specifications in use (e.g. xHTML, CSS, etc.).
- demonstrate good data/layout/style/logic separation, e.g. XML for data, HTML for layout, CSS for style, and code for logic.
In addition you are required to incorporate several features into your web development as listed in Section 2.1.
2.1 Web features
Your projects must include some of the features listed below. The actual amount depends on the group size:
- Groups of 2 must implement at least 10
- Groups of 3 must implement at least 12
The list of features
- User management: registration, login, authentication
- User data persistency: user is recognized across different visits
- Server data persistency: a web application may be reloaded, the data should remain
- Session data consistency, e.g. a shopping cart
- Server-side dynamic content generation
- Allowing the user to have personal storage and preferences
- Allowing different users to interact/communicate
- Using filters for multi-language support or personalization
- Asynchronous updates from web-server, without user's intervention
- Client-side form validation (e.g. username taken/free)
- Browser/client-side interaction logic
- Smart caching of results
- Interaction with third-party software
- Using third-party web-services (SOAP, REST)
- Using XML to store data and XSL transformations to present it
- Generating or reading web feeds (RSS, ATOM)
3. Possible ideas
The best is to come up with your own idea. But, just to give you a flavor of what is expected, some ideas are given below.
- Web-alization of desktop applications: some conventional applications which you want to develop online
- For example: A shared whiteboard for text boxes and images
- Community oriented applications: users sharing information
- For example: An online meeting scheduler with interactive meeting room
- Mashups: linking different sources of data from web
- For example: Multi-source feed reader, which allows embedding in third party websites
4. Project schedule
Below are the deadlines for the project. Dates in red are fixed. Dates in green are tentative.
| Deadline | Task |
|---|---|
| 11.02.10 | Project presented in class (pdf) |
| 24.02.10 | Groups are formed (notify the TA about your group) |
| 03.03.10 | The submission of preliminary project proposals |
| 15.03.10 | Final project proposals |
| 15.03.10-11.04.10 | The development phase |
| 11.04.10 | Project submission (this is a firm deadline, there will be no extensions!) |
| 12.04.10 | Project evaluation and grading |
| 13.04.10 | Project presentations |
5. Project proposal
The project proposal somehow resembles a contract. You should develop your application as close as possible to the one you proposed. Part of your grade depends on how close you actually are to your proposal.
The project proposal must include the following sections:
- An overview of the web application you wish to implement. This includes a top-level overview of the services and the motivation for such an application.
- High-level design of the application: how the user interacts with the application and the server-side mechanism.
- A complete list of different services, with use-cases.
- A list of technologies/methods you will be using to implement your project. Also, specify which web features you incorporate from the list in Section 2.1.
6. Project submission
Projects are to be submitted electronically to Marian not later than Sunday, 11.04.10 at 23:59. Each submission MUST include:
- The web application package with deployment instructions as follows:
- The web application directory from Tomcat webapps (including WEB-INF, static files, web.xml, and additional files if needed).
- A list of system requirements:
- Compatible browsers
- Required third-party libraries/software
- Special Tomcat configuration (non-default settings)
- Web application configuration instructions:
- Different parameters in web.xml (for servlets/filters)
- Local access URL with port number (e.g. http://localhost:8080/myapp)
- The web application sources with documentation as follows:
- All source files (including third-party sources)
- Documentation:
- High level design of the web application (listing different software components)
- The objective of each of your source files (brief description)
- Special build instructions (if needed)
- A list of third-party packages used
7. Project grading
The project will be graded frontally on Monday, 12.04.10. The grading will take place in ICT638, 16:00-19:00. Please, sign up for time slots on Monday (use same password as for grades page).
The project will be graded as follows:
- Each group has 15 minutes to demonstrate their project.
- You will have to answer questions about your design, implementation details, usage of 3rd party code/libraries, etc.
- You will demonstrate several use cases (as requested).
- You will also be asked about the differences between theproject proposal and your actual implementation.
You can receive up to 26 points of the final grade on Monday.
8. Project presentations
In addition to the grading, you are also required to present your project in class. Some guidelines for the presentations:
- Each group has 10 minutes to demonstrate their project
- The order of presentations will be decided by the course staff
- In your presentation you will
- demonstrate the project
- outline the architecture of the project
- mention the 3rd party libraries in use
- describe the challenges you faced
The presentation is worth another 4 points of the final grade.