Your final assignment is to build a "user-friendly," interactive application program front end to your PDA using one of the programming languages supported by PostgreSQL. These include: C, C++, Python, Lisp and Java. There is also an ODBC driver that may be used. You can also use PHP to create a nice web-based interface to your database. You can find documentation on most of these options at the PostgreSQL Client Interfaces site. (If you want to use Lisp, check with me for info on the Lisp interface to PostgreSQL.) Regardless of your selected language, you will be turning in your code, which should be appropriately documented.
Your program should consist of a continuous loop in which:
I am not requiring anything fancy in the way of interface. For example, if you do not use a Web form, then a menu printed via printf is acceptable. Also, handling of SQL errors can be quite simple. As a minumum, write an sqlerror routine that just prints the error message from PostgreSQL. I am especially interested in how effectively you can utilize the database schema you have designed to support interesting and/or engaging user interactions.
The interface to your PDA should run either in a standard web browser or as a user application on vwardrobe.
You will have ten (10) minutes to demonstrate your program in class.
These presentations will take place on Wednesday April 27th.
You should prepare a short presentation that highlights the features of your project
and exercises the functions of the interface as described above.
You are not required to demonstrate every interface option
if you want to spend more of your time describing interesting features
of your Project.
(However, I will be testing every option with
several inputs so make sure they all work.)
Since each of you will be demonstrating your Project from my laptop,
make sure you submit your assignment to Eureka with all necessary files
due date and time.
Submit your program -- schema creation and table population scripts, interface code (either html or other), and program logic -- together with sufficient documentation for me to run it. At this point, your database should be populated with meaningful data. This means that the values of attributes in your relations should not be random strings. As before, please create a tar (or zip) file named <your-db-name>p5.tar and expands to create a directory <your-db-name>p5, which contains all the files relevant to your program for this assignment.
If you build a Web interface to your database that allows
the sorts of options described above,
then in addition to your code,
please include in a README file: the URL to where your code is published
as well as some directions and data values that will give nontrivial interactions.
In this case, your project should be kept on some server that is
such as with your student home page or a machine that you control that
happens to have static IP address.