CSC513 P1: Timeslot Signup System

Using Project Zero with Groovy and Java

update | description | project zero | database | deliverable | reference

Announcement

Description

In many situations, organizing schedule for many people is hard to do. In some cases, each participant has to be assigned a timeslot among all available time intervals. For example, in a conference, sessions are assigned to speakers for presentation. In a class, students sometimes need to demonstrate their programming assignments. The TA should assign a timeslot to each student for demonstration.

In this assignment, we are going to design a web-based timeslot signup system, using Project Zero with Groovy and Java. The system lets users browse current available and occupied timeslots, signup their preferred timeslots in first-come-first-serve manner. More specifically, the system should have the following functionality,

  1. List all occupied and available timeslots from the database,
  2. Signup available timeslots with name and email address and write to the database.

See my example implementation. Your interface need not be like mine---it is just for reference---as long as it's intuitive. Your program should take care of common errors like entering invalid values and doing invalid operations.

NOTE: Please follow the instructions below to setup environment, making sure your program can run on TA's machine.

Project Zero

Project Zero is an agile development environment for web applications. Here are steps for setting up Project Zero.

  1. Download Eclipse IDE for Java Developers (version 3.2 or later).
  2. Install Project Zero Eclipse for Java and Groovy plugins (PLEASE USE Milestone 3 VERSION, i.e., use http://www.projectzero.org/update/zero.eclipse.M3/ as Eclipse Update Manager site).

Database Server

We use MySQL 5. Other databases are not recommended, in order to make sure your program can work successfully on TA's computer. Please use only one table for this assignment, timeslot.

1. Install MySQL Server

  1. (Download MySQL) Download MySQL 5 for Windows here and install it. I use the version without installer.
  2. (Start MySQL) Go to the bin folder through command line, and execute mysqld.exe. We can use default account root with no password to access MySQL locally.
  3. (Test MySQL) Go to the bin folder through command line, and execute (to create a database),
    mysqladmin -u root create csc513p1
    We can also do this using GUI tools, one of which can be found here.
    (Please use the name csc513p1, to make sure your program can run on TA's machine out of box)

2. Configure Database in Project Zero

We need to download MySQL Connector/J to let Project Zero be able to access MySQL database. Extract the downloaded file and put only mysql-connector-java-5.1.5-bin.jar in the lib folder of your Eclipse project. Remember to refresh the project and restart Project Zero server.

Then follow the instructions at Database Setup Tool. Here are the SQL files you may need: 1) create.sql, 2) drop.sql, 3) sample.sql.

Deliverable

Please follow the intructions Exporting applications in Eclipse here, to export your program into a zip file. Please CHECK the include source and UNCHECK standalone options. Submit the files through submit tool. Also submit a README file if necessary.

Reference


Last Update: Jan 23, 2008
Chung-Wei Hang (chang@ncsu.edu)