CT310 - Project 3

Due on May 4th

Well it seems that you did something good again. Teatro alla Rinascita has called us again asking for some more work. They liked the seating charts that showed what seats were available, as well as the management page that showed who was sitting there. It’s brought their sales up with their competitors, but now they want to leave them in the dust. They want clients to be able to reserve seats through their website. They also want to be able to add new shows to the website without going through you, the web developer. They want to work web developers out of the picture completely.

This assignment is going to have a lot of MySQL and PHP involved with it, as well as some HTML. To make it possible for clients and management to add seat reservations, shows, and remove show times you’ll have to build several forms that update the database. Here’s an outline of what the client wants.

Management also is interested in learning more about MySQL in case they need to fix the database themselves. For this reason, whenever they submit a form that will modify the data stored in the MySQL database, they want to see an intermediate page that displays back to them the MySQL command(s) that are about to be excecuted. Then the Management can confirm that they want to perform the action. Alternatively, they should also have the option of starting over - in other words going back to the managment form.

Everything that you have built previously for them should remain mostly intact, including the seating chart that views available seats per show time, random featured show display, and the management list of who has reserved what seats.

Once again, because this is a learning assignment, we’re adding our own requirements. Instead of using the database that we built for you, we’re now going to make you build your own database to support the new show added through your site. Each student will have their own database that they will use for the project. Only one student’s database should be used with the team’s website, you can pick who’s. Your database name is your CS Department login name and your MySQL username is also your CS Department login name. Your MySQL password is your CSU id number.

The database should be the same as the one used for the last assignment. Feel free to look at the ct310 database to get this structure. Below is a visual representation.

There are some important things that you need to realize when it comes to adding shows to the database. The way that it’s setup, each Time in the TimeSlot should have 151 seats assigned to it in the Seating table. Because this is such a large task, the link below is a PHP script that will create those 151 seat Insert statements, with no reservations assigned for those seats. Feel free to use it as you will, just remember to cite it as code you received from us for this assignment. Also, when you remove a show from the database, you need to remove all of it’s seats and Times before you can remove is from the Show_Info table. Also, make sure that if management removes a seat reservation, it does not remove the seat from the table, just updates the seat to no longer have a reservation.

In this project it is also important to give credit where credit is due, so you will add a page titled "Acknowledgements" that lists by first and last names all class members who contributed to this project directly or indirectly. In other words, all class members how were on a project 1 or project 2 team of either member of the project 3 team. This page must be reachable from the theater home page.

Submission

We will automatically copy your ~/public_html/ct310/project3 directory at 11:55pm on the due date. In other words, the URL for your site is www.cs.colostate.edu/~yourusername/ct310/project3/. We would like the project to be in this directory of both team members. Also, put both team member's names somewhere on your site.

Addendum (5/2/2007)

A question has arisen about the need to support more than one show time for new shows. It would be nice if this is done, but we have decided to not deuct points when it is not. In other words, projects supporting one and only one show time for new shows are worth full credit.

Course Webpage