SOFT131 Coursework 2 - ASP Databases Brief
This assignment is intended to test your ability to apply the approaches, concepts, methods, and techniques covered this term (active-server pages, relational databases,) along with those covered last term (such as loops, conditional execution, constants, variables, arrays, classes, procedures, functions, and modular design).
You are required to design and implement a prototype virtual photograph gallery web-site.
You are advised to stick to the specification provided – to prevent wasting time on aspects that don’t get you more marks. For the purposes of this assignment, I will act as your user (discuss your submission with me during tutorials – I will give you advice). In the past, students who use me to test their web-site do well in this assignment.
Description
You are required to develop a web-based photograph gallery system, that allows customers to view and rate (1 to 5 stars) the photographs on-line. It is important that only members can access the site.
It is essential the you adhere to the specification, as your system will need to integrate with components developed by other people (ensure you use the correct database, table, and field names).
The following information should be stored in the database (provided):
D1. Member – details of people who are members:
MemberID – A unique number identifying each member.
Surname – a member’s family name.
Forenames – a member’s given name(s).
Email – a member’s email address (used to login).
Password – the password used by a member to login
D2. Photo – details of Photographs that are to be rated:
PhotoID – A unique number identifying a photo.
Title – The title of the photograph.
Date – The date that the photograph was taken.
Location – The location were the photograph was taken.
Description – A description of the photograph.
Filename – The filename of a picture of the photograph.
MemberID – The ID of the member who took the photograph (members are not allowed to rate their own photographs).
D3. Rating – details of each photographs rating:
RatingID – A unique number identifying a rating.
MemberID – the ID of the member who has rated this photograph.
PhotoID – the ID of the photo being rated.
Rating – this member’s rating of this photograph (between 1 and 5 – 1 is poor, 5 is excellent).
The system should provide the following facilities:
F1. Login page – This should ask the user to enter an email address and password, which when submitted should be validated against the members in the database. If the details match then the browser should be redirected to the menu page, otherwise a suitable message should be displayed indicating that the login failed, with the option of trying again.
F2. Menu page – This menu should offer options (links) to the pages providing functionality F3, F5, and F6.
F3. Photo List page – This should display a list (table) of Photo Date, Title, Location, and the Average Rating (needs to be calculated from the database).
Each row (Photo) should be a link to the Photo’s details (F4).
The user should be able to restrict the items displayed to those matching a given search criteria (entered via a text box), e.g. if the user enters the characters ‘be’ the list of photos should show only photos containing these characters in either the title or location fields.

F4. Photo Details page – This should display the details of the selected Photo. It should contain a star display of the rating for the currently logged in user, if this photo belongs to another member (members cannot rate their own photos). When clicked this should alter the corresponding record in the rating table, or create a new rating record if none exists.

F5. My Photos page – This should display:
- A list of Photos belonging to the current member,
Each photo should have a link to the photo details page (F4).
F6. Logout – This should log the user out and prevent any subsequent access to the pages (unless the user logs on again).
You should submit two copies on CD, each disk containing a copy of the following:
· ASP program files (no other programming language or version is acceptable). This must:
- work from localhost/studentnumber, where ‘studentnumber’ represents your student number. e.g. localhost/12341234
- use the database called D:\Gallery.mdb (provided by me), and
- have an account with my email, and the password photos
(so that I can test your application)
Each disk should have your student number clearly written on it. You should ensure your disks work properly (on a different machine) and are checked for viruses before submission.
The following mark scheme will be used:
Functionality 30
F1 5
F2 3
F3 7
F4 9
F5 4
F6 2
Design 20
User Interface 7
Code 13
Anything that fails to run is liable to receive a fail grade.