CPSC415A
Web Programming

Project

a web site with a dynamic user interface and persistent data storage

Over the course of the semester you will work in groups of 2 to 3 students to create a web site for a client. The site must be dynamic and interactive and use server-side data storage.

Deliverable 1 - Proposal

Create a proposal for the site your group will create. The proposal should describe the site so that a non-programmer can fully understand the site’s capabilities and how to use them. It should be detailed enough that any competent web developer can implement it as envisioned, but it should not have any details of implementation. Feel free to include illustrations to reduce the amount of text needed to describe something that is fundamentally visual.

The proposal should include:

Submit your proposal document on the course Inquire site before class on Friday September 16th.

Deliverable 2 - Static Design

Create a static version of the web site you proposed using only HTML and CSS. Because the site does not use JavaScript and PHP the content can be temporary, but the design of the site including layout, menus, fonts, and colors should be complete. The site should include all pages needed to create the site described in your proposal. If there are pages that significantly change due to user interaction, multiple versions of the page should be included in the site. The code should not use any libraries or frameworks not written by you. To ensure compatibility with old web browsers and mobile devices the site should have:

Be sure to frequently push updates to your git repository. Submit a copy of the entire site on the course Inquire site before class on Friday September 30th.

Deliverable 3 - Dynamic Design

Augment the static design by using JavaScript to make the site respond to user input. Any content that is activated via user interaction, such as menus, forms, or animations, should be implemented and usable. If the web site content will be dynamically updated with server data, it should be possible to dynamically update the site with static data stored in JSON. The code can use CSS libraries but not any JavaScript libraries not written by you. Note, if a CSS library depends on JavaScript code you did not write, then it can not be used.

Be sure to frequently push updates to your git repository. Submit a copy of the entire site on the course Inquire site before class on Wednesday October 26th.

Deliverable 4 - Prototype

Create a fully functional prototype of your proposed web site. The site should use PHP scripts to interact with a database dynamically. The database can be either a SQL database or XML files. The goal is to produce a feature complete site that you can demonstrate for your client to get feedback on any changes or refinements for the final version. The code can use CSS and JavaScript Libraries, but not any PHP Libraries not written by you.

Be sure to frequently push updates to your git repository. Submit a copy of the entire site on the course Inquire site before class on Monday November 14th.

Deliverable 5 - Prototype Feedback

Set up a meeting with your client to get feedback on your prototype. Some things that you should get feedback on are:

  1. The Functionality - Is there anything that your prototype doesn’t do or does but doesn’t need to?
  2. The Usability - Is the prototype easy to use? Is there anything that can be added or altered to make it easier?
  3. The Aesthetics - How does it look? Is the layout simple and pleasing, are the colors and fonts attractive and cohesive, do the animations support user interaction? Be sure to get feedback on both the mobile and desktop versions of the site.

In addition to getting your client’s feedback, you should discuss ways of addressing the feedback. Be sure to frame this discussion in the context of what you can accomplish by the end of the semester. Write up a summary of your client’s feedback including what actions you will take to address the feedback.

Submit your feedback document on the course Inquire site before class on Monday November 28th.