CSE 444 Project Page

Project groups page

Project Description
Students in teams of 3 to 4 are required to select an application that needs a database and build a database application from start to finish.
Throughout the quarter we have 6 homework assignments designed to ensure that you know how to do each of the tasks required to successfully build a database application. However, building a full database application from scratch allows you to control the process; instead of having the pieces decided for you, you must make all of the decisions by yourself. Part of this process is that you will see how design decisions made at the beginning will effect your final project.
Finding an application are for which database systems would be required
Modeling the domain of the application, and defining the application functionalities
Designing and implementing the schema
Populating the database (this should not be the main focus of the project)
Writing the code needed to embed the database system in the application
There are a number of intermediate deadlines that you must meet in order to ensure a successful project; these steps are also listed on the schedule for the course. Each group is required to have a project web site; this web site will serve both as a method for ensuring that groups are meeting the checkpoints, and to allow groups to see what other groups are doing. Descriptions for each of the required checkpoints are on separate pages.
Suggested projects (subject to change)
We have prepared for you a number of suggested projects, and below we list a number of suggested projects you can design yourself.
Movies domain:
In this domain you would be modeling entities movies, their actors, directors, genres, playing times, reviews. There exist several sources on the WWW from which you can get data to populate such a database. You can support various queries such as finding specific playing times, finding movies in Seattle directed by a given director. You can also support updates to the reviews section of the database (e.g., viewers giving their own opinions). Another functionality is to provide personal profiles of people (i.e., the movies they like) and then try to recommend movies to them based on profiles of viewers with similar tastes.
Books domain:
In this domain you would be modeling entities such as books, their authors, topics (which may be a complex hierarchy). You may also model various attributes of the authors, the institutions they belong to, etc. You can support a buy/sell service of used books, books used in specific university courses. A personal profile, similar to the one for movies is also a possibility. Pointing an interested buyer to a web source to buy a book is also an interesting option.
This domain would require modeling apartments and their properties, areas of town and their various properties (e.g., bus lines, crime rate distance from various landmarks). You would provide an interface for offering apartments for rent, finding apartments. Some data can be found from the Seattle Times and other sources.
Database of web sites:
In this domain, your basic entities would be web sites. You can model their various properties: topic, url, organization to which they belong, other sites they point to, reviews of the site, quality, cost of accessing, etc. Users can add new sites that they found to the database, add opinions about existing sites, or search for sites that may be of interest for them. See Yahoo.com for a partial inspiration.