CS W80: AJAX Web Development

Term Project

 

The main project for this course will be an AJAX-based web application of your choice. It should use client and server components communicating with AJAX techniques. The back end should use MySQL and PHP to offer web services via SOAP, and the front end will use JavaScript in a web browser. The application could also use third-party web services. Web 2.0-like applications, involving multiple users, communication, user-created content, and the like are encouraged. Example ideas include

 

You will work in groups of about four people on an application. I’ll take a survey of skills and interests and try to make groups with people who have similar interests and a variety of skills.

 

Important Dates

 

Thursday, Jan. 4:          Form groups

Monday,  Jan. 8:           Project proposal due

Thursday, Jan. 11:        Database design and implementation due

Monday, Jan. 15:          SOAP server with web test suite due

Thursday, Jan. 18:        Demonstrate prototype to class for feedback

Tuesday, Jan. 23:          Final project presentation

 

 

Project Requirements

 

Projects will normally use a database-driven back end that offers a service of some sort via SOAP. The front end will use web pages with JavaScript to access the service and provide the user interface.


 

The project proposal (due Jan. 8) consists of three documents:

-         a project name

-         a description of the problem being solved or application being written

-         a set of narrative use cases indicating the way the project will be used

-         a description the functions that the back end and the front end will perform.

Only one copy of the documents is needed per group, but they should have all group member names.

 

The database design and implementation (due Jan. 11) involves designing a database to support the application and creating and populating database tables as needed. To complete this part of the project you should turn in

-         a printout of the database schema.

-         a written description of the kinds of queries that will be performed on the database

 

The SOAP server and web test suite (due Jan. 15) involves an implementation of the web service (back end) of the application. You should also implement a web page that tests the service. To complete this part of the project you should turn in

-         a printout of the source code for your back end

-         a printout of a web page that runs exercises all the functions of the back end. The printout should show the URL so I can run the tests.

 

The Demonstration (taking place on Jan. 18) will involve demonstrating your system so far to the class in order to receive feedback and suggestions on your design and implementation. Your project won’t yet be complete, but you can demonstrate what is complete and show prototypes or mockups of the rest. Your project so far should have a home page that lists all your names, the project name, a one-paragraph description of the project, and links for trying out what exists so far.

-         turn in a printout of the project home page showing its URL

 

The final presentation will take place on the last day of class, Jan. 23. Each team will demonstrate their project and say something about design choices, how it turned out, further work that needs to be accomplished, and so on. In addition, students should turn in a packet containing:

-         a description of the application (possibly revised)

-         a user manual

-         the database schema and a document describing how it is used

-         a printout of the project page showing its URL. This page should describe the project briefly, list the participants, and give a link to the application home page

-         a printout of source code. Author’s names should be in each file.

-         a rights statement giving Calvin permission to copy and display the project (if applicable)

-         In addition, each project member should turn in the project information page separately