Homework 1
CS320, Winter 2013

Due: Thursday, January 24

Please upload your files to CSNS. The files should include all the source code, documentation (optional), and an HTML file hw1.html, which contains a link to your application deployed on the CS3 server. Note that file uploading will be disabled automatically after 11:59PM of the due date, so please turn in your work on time.



This quarter we are going to implement a web application called CS320Starter, which is similar to the crowd funding platform Kickstarter where people raise funds for their projects. In this assignment, you are going to implement some basic features using servlets or a combination of servlets and HTML pages.

1. (30pt) The Project List page shows the list of the projects that are currently raising funds. For example:

Project Posted By Start Date Days To Go
Arabic Alphabet Fun Flashcards Koloud Dec 16, 2012 2
NYC Subway Poster Size Art Prints Jody Dec 01, 2012 23
Awesome MMORPG Game!! Tom Jan 01, 2013 30
Create A Project

Note that 

2. (20pt) Clicking on the name of a project should take the user to the Project page where all the information about the project is shown. For example:

Arabic Alphabet Fun Flashcards

by Koloud

This cute endeavor is for the creation of Arabic Alphabet Fun Flashcards that are printed on super durable coated paper that is sure to survive the strongest baby teeth known to man.  The flashcards will be mailed out in a handmade bag made with awesome fun bright fabrics.  28 letter cards, an introduction card, and a game card are included with each set.

Funding Target: $3000
Start Date: Dec 16, 2012
Funding Duration:
Days to Go
: 2

Pledge $1 or more

An entire blog post devoted to you. Yes, you. Now you have the ability to bing or google your name and there it will be in big lights: seen by tens of people. 

Pledge $10 or more

 A personalized shukran card mailed to any address you choose. These cards are handmade and one of a kind!

Pledge $20 or more

A Crafty Arab swag bag with a personalized shukran card, Arab pin, and celebrity with Arab name magnet mailed to any address you choose.

All Projects

Clicking on the All Projects link should take the user back to the project listing.

3. (50pt)  When a user clicks on the Create A Project link, the application shows the Create Project page where the user can create a new project:

Create Project - Basic Information
Your Name:
Project Title:
Project Description:
Funding Target: $
Start Date: (MM/dd/yyy)
Funding Duration: Days

Start Date should be entered in the format MM/dd/yyyy, e.g. 01/16/2013. After the user fills out the form and clicks the Next button, the application shows the Add Reward page where rewards can be added to the project:

Create Project - Add Rewards
Pledge Amount: $ or more
Reward Description:

Rewards can be added one at a time by filling out the form and clicking the Add button. After all the rewards are added, the user can click the Finish button and the application should take the user to the Project page.