A database-driven website
4-week project, November 24 to December 19, 2003.
Project description
This project is intended for students who have taken one of the
introductory courses in databases ("Databasesystemer" or "Introduction
to databases"). Its aim is to build a substantial application with a
DBMS as the key component, using web technologies to supply a
multi-user interface.
NB. If you are more interested in programming or web technology
aspects than in database aspects, you might be more interested in one
of these projects.
Project groups are free to decide what kind of application they would
like to build, and what software they wish to base the application
on. However, it should meet some core requirements:
- The application should support multiple concurrent users robustly.
- The application should be accessible via a standard web browser.
- Users should be able to issue changes and queries to the database.
- The database should be substantial in size and complexity (10+
polygons in the corresponding E/R diagram).
Optionally, project groups may look at other aspects, e.g.
- Efficiency of the database (query performance, problems with locks).
- Security and user authorization.
- Information integration and data warehousing.
Groups and project agreements
Groups should have 3 or 4 members. In case you need people for your
group, you may use the newsgroup it-c.courses.IDBI to advertise or
look for other students to do the project with. It is the
responsibility of each group to formulate a suggestion for a project
agreement, e-mail it to the teacher for preliminary approval well in
time, and enter the final agreement in the UCS project database no
later than Monday Nov 17.
What is expected from you
Prerequisites
The students doing the project should have
taken an introductory course in databases and have experience
corresponding to the Introductory Programming course. Experience with
web programming is not a prerequisite. There will be a lecture telling
you what you need to implement the interface using Java
Servlets. You may also look at the following lecture slides: [HTML], [PHP] or [Java Servlets], database
connectivity in [MySQL/PHP] or [Oracle/Java].
To pass the project, the group should successfully implement a
database-driven website meeting the core requirements, document its
work in a report handed in no later than December 19, 2003, and
satisfactorily defend the project at the exam.
The report
The report may be in Danish or English. The maximum length of the
report is 10 pages plus 5 pages per person in the group (11 pt font or
larger). There is also the possibility to add appendices, which will
be read at the discretion of the examiners to clarify things in the
report. The report must be a self-contained description of the project
and the group's solutions, and describe the decisions made and the
thoughts behind them. The descriptions, motivations, etc. in the
report will be the main parameter in the evaluation of the project.
The report must contain:
- A clear documentation of the production. Among other things there
must be a description of how to run and test the programs,
documentation by comments in the code, names of files and where to
find them.
- A description of any failures to achieve the goals of
the project, including an explanation of the problems encountered.
- Citations/inspiration: It is allowed to look and learn from
publicly available sources, but all inspiration must be cited in the
report, and your own solution must be made from scratch.
Examination
There will be an oral exam with external censorship in late January
2004. The project participants will be individually graded according
to the 13-scale.
Schedule
The teaching will be in the form of:
- A lecture on Java Servlets (by Carsten Butz).
- 2 joint meetings.
- 3 individual meetings with each group.
Teacher