Project Description

Students in teams of 3 to 4 are required to select a web application domain that requires a back-end database and build the application from start to finish. There is no restriction on who can team up with whom: graduate students can team up with undergraduate, and on-campus students with off-campus.


You will first identify an application domain to work on, for which database systems would be required. You will then design the underlying database and define the application functionalities you will provide with the database. Lastly you will implement this application: You will be required to build its web interface, build and populate the underlying database systems, and write the code needed to embed the database in the application. Your application must include simple access controls so that different types of web users (e.g. simple user / administrator) have different levels of access (e.g. read / update). This security mechanism will also use a database table to store the security information. You will demo your application and possibly showcase it to the whole class.


To ensure a successful project, we require you to meet the following intermediate deadlines in accordance with the goals we enlisted above: (Refer to Assignments page for submission instructions.)

Suggested Application Domains

To help you get started, we suggest the following domains and model site below, for you to pick one:

Jobs domain: In this domain you would be modeling entities such as jobs, applicants, and employers, and so on. As a model application, please refer to Career Builder: You will similarly support comparable functionalities such as finding jobs in Chicago, posting resumes for applicants, posting job opportunities, or finding qualified applicants. Using your creativity to introduce new functionalities to the site is a plus! To illustrate, one possible functionality is to provide social networking among applicants with similar profiles.

Music domain: In this domain you would be modeling entities musics, their genres, reviews, and so on. As a model application, please refer to MSN Music search: You are expected to provide comparable functionalities to this model site. That is, you will similarly support various queries such as finding specific CD title, finding songs sung by Madonna, or composed by a given composer. Again, use your wild imagination to propose interesting functionalities: For instance, you can recommend music to users, based on what people with similar music taste like.

Hotels domain: This domain would require modeling hotels and their properties. As a model application, please refer to Orbitz hotel search: You will similarly support various queries such as finding hotels in specific city, finding hotels closely located to given address, or finding hotels with certain properties (e.g., swimming pool or free airport shuttle). Again, we encourage you to suggest interesting new functionalities.

Suggest your own: You are also free to suggest your own application domain to work on. However, you are required to discuss your plan with your section TA, in prior to any project deadline.

Note: For all domains, although given reference sites may not show, our projects will also require data entry/update interfaces to maintain the database.


You are free to choose DBMS (or web server) that you want to work with. However, as a default, we will provide an account to Oracle DBMS in CSIL machines shortly. To get you started, please refer to our tutorial document.