Final Project Proposal David Faux CSCI E-259 1. Title: Generic Pool Framework 2. Author: David Faux 3. Abstract: I intend to implement a framework for people to submit and vote on various types of pools. 4. What: I want to create an application that people can use to create a venue to take part in wagering (for fun of course) on different events. The application will allow people to create a user account and once they have registered they will be able to use the rest of the app. The application will allow the users to create a pool of various types. Some examples of pools could be a baby pool where the pool could ask for votes on gender, birth weight, length and date of birth, or perhaps an awards pool where the users vote on the winners of the Oscar or Grammy awards. In addition to several pre-defined pool types, the users would be able to create their own types as well. Once a pool has been created, other users can log in and register their votes with the app. Users will be able to vote only once per poll but will be able to view results at any time. I would like to add SVG-based graphs of the results as well as a HTML view of the results. 5. Why: I want to do this for a few reasons. First, for some reason, many friends of mine have been getting pregnant recently and I think this would be a fun application to put together for them. I also think that creating a generic framework to allow for various kinds of pools will be an interesting problem. Second, it would be an interesting project to put together as a web application with a possibility of using an XML database as a back end. 6. How: I will begin by putting together a set of DTDs (or XML Schemas) to define the structure of the application. If it makes sense, I'd like to try to use an XML database, such as Xindice or eXist to store the data for the pools. I will use Tomcat as a web application server and implement the web pages using a combination of XSL and Java Servlets. If I end up using an XML database, I will need to research the implementation and coding for that. 7. Questions: One question I have is whether the use of an XML database is useful in this project. Would a series of flat files be more efficient? And are there any concerns about the performance of an XML database?