CS 683 Emerging Technologies

Fall Semester, 2005

Assignment

Assignment Index

© 2005, All Rights Reserved, SDSU & Roger Whitney

 San Diego State University -- This page last updated 10/13/05

Zope Assignment

ISW Conference Registration

We are to create a registration web site for the ISW (the Imaginary San Diego State Web) conference.  The site allows people to register and pay for the conference. It also allows the people running the conference to access information about those that have registered. When someone has registered for the conference they get a confirmation web page and a confirmation email message. Ideally they would receive a code that in conjunction with their name would allow them to access and modify their registration data.

When a person registers for the conference some information about themselves is required and some information optional.

Required Information

  1. First Name

  1. Last Name

  1. Email address

  1. Telephone

  1. Meal preference: Vegetarian or Meat

Optional Information

  1. Name to appear on badge

  1. Special health needs

When registering one can sign up for up to three of the following seminars.

  1. Zope

  1. SSP

  1. ASP

  1. JSP

  1. Seaside

  1. Cocoon

  1. Struts

  1. Flash

  1. Plune

When one registers for the conference one pays using a credit card. While we will not be processing this information still have them enter it. For those that are interested one can create a PayPal account and let PayPal process the transaction. One can do this in two ways. First forward the person to a PayPal website to perform the actual transaction. You can pass the information about the user to PayPal so they do not have to reenter the data. One can also have your code contact PayPal directly to perform the credit card transaction. It is possible to set up a sandbox PayPal site that pretends to process credit card transactions without actually doing so to test ones code. Using PayPal is not required nor will it be graded nor will it be counted as extra credit work.

Those running the conference need to have access to the information about the people that have registered. One required way to do this is to allow them to download a comma separated file. That is a file that each row represents one person, with each field separated by a comma. Such files have the extension .csv. One can also provide access to the data on-line. Those running the conference need to be able to m odify the information on-line for any individual in case information has been entered incorrectly. Only a person logged on as doctor should have access to medical part of individuals information. Only those running the conference should be able to see the list of those registered or any information about them.

The current plan, which could change, is to use this same assignment with Ruby on Rails. Some requirements will be harder in one system than the other. Some requirements may not be possible in one or both of the web frameworks. One of the frameworks may require more work than the other one. The goal is to allow us to compare the two frameworks using the same assignment.

Customer Stories in Priority Order

  1. Conference organizers can access attendee's data

  1. Attendee data not visible to other attendees

  1. Attendee can enter personal data and name on badge

  1. Attendee sees web page notification of registration

  1. Attendee receives email notification of registration

  1. Attendee can sign up for seminars

  1. Attendee can enter medical information which is hidden

  1. Only Doctor can access medical data

  1. Organizers can modify attendee data

  1. Attendees can pay for conference via PayPal

  1. Attendees can modify registration data

Due Dates

Oct 17. Turn in by email estimates of the time required to do each of the above customer stories and which stories you can implement by Oct 20 and by Oct 27.

Oct 20. An electronic copy of the implementation indicated above plus time it took to implement each story.

Oct 27. An electronic copy and hard co py of the implementation indicated above plus time it took to implement each story