COS10026 Computing Technology Inquiry Project Assessment
- Subject Code :
COS10026
- University :
SWINBURNE UNIVERSITY of Technology Exam Question Bank is not sponsored or endorsed by this college or university.
- Country :
Australia
Purpose of the assignment
In this part of the assignment you will further enhance the Web site you developed in Parts 1. You will:
- Extend the functionality of the Web site by creating server-side PHP scripts to process job application data sent from the Web forms you created in the previous parts of the assignment.
- Create simple MySQL tables for storing, updating and retrieving information from a Web site.
- Create a Web page that allows the Human Resources (HR) manager at the company to view, update and delete applications.
There will be an opportunity to enhance your website beyond the basic requirements.
A: Specified Requirements
Use only mysqli commands in this assignment.
1. Use PHP to reuse common elements in your Web site
PHP provides us with techniques to modularise and reuse our web application code. Rewrite your web pages so that the common static HTML elements such a menu, header and footer are written in common text files that are then included back into your web pages. Name the include file(s) with a .inc extension, replace the sections of HTML in your main pages with include statements, and rename your main pages with a .php extension, so the php includes will be included.
2. Create a file to store your database connection variables settings.php
As you have done in the labs use a PHP include file settings.php that contains the host, user, password and database name connection variables, and use this in your PHP to connect to your MySQL database on the feenix-mariadb database server.
3. Create an EOI table (expressions of interest)
Create a table eoi in your MySQL database. The information in each attempt record should include the following:
- EOInumber (auto-generated id)
- Job Reference number
- First name
- Last name
- Address:
- Street address
- Suburb/town
- State
- Postcode
- Email address
- Phone number
- Skills (Note: the data here will depend on your job description. Although there are better ways to design this, you could just have a number of generic fields called skill1, skill2, ... etc.)
- Other skills. Text description
In addition to the above information, each record should have a Status field. The values in this field can be New, Current or Final. When an EOI record is first created the Status is set to New.
4. Adding validated records to the EOI table (processEOI.php)
Use (or adapt) the application form you developed in Assignment Part 1 so that the form data is sent to a PHP script (processEOI.php) that adds an EOI record to the table. When the database has accepted the expression of interest from the form, a Web page should display a confirmation message with the unique auto-generated EOInumber to the user.
When a user submits an EOI, if an EOI table does not already exist in your database the table should be programmatically created by your code. The processEOI.php page, should not be able to be accessed directly by url through a browser. Hint: check what data has been set and redirect.
While you will have done client-side validation in Parts 1, in order to preserve the integrity of the server data you should also implement server-side data format checking.
Check the integrity of the data input by the users. All data should be sanitized to remove leading and trailing spaces, backslashes and HTML control characters. No required fields should be empty. If the data does not validate an appropriate user-friendly error page should be displayed to the user.
Field | Format requirement |
---|---|
Job reference number | exactly 5 alphanumeric characters |
First name | max 20 alpha characters |
Last name | max 20 alpha characters |
Date of birth | dd/mm/yyyy between 15 and 80 |
Gender | Selected |
Street Address | max 40 characters |
Suburb/town | max 40 characters |
State | One of VIC,NSW,QLD,NT,WA,SA,TAS,ACT |
Postcode | exactly 4 digits matches state |
Email address | validate format |
Phone number | 8 to 12 digits, or spaces |
Other skills | not empty if check box selected |
5. HR manager queries (manage.php)
Create a web page manage.php that allows a manager to make the following queries of the eoi table and returns a web page with the appropriate results.
- List all EOIs.
- List all EOIs for a particular position (given a job reference number).
- List all EOIs for a particular applicant given their first name, last name or both.
- Delete all EOIs with a specified job reference number
- Change the Status of an EOI.
B: Enhancements
You should complete the Specified Requirements before you attempt this part. See the marking Guide below.
Marks will be allocated to enhancements of your choice that go beyond the specified requirements. In this assignment we will consider PHP and MySQL enhancements. You are encouraged to be creative in thinking up possible enhancements.
Examples of PHP / MySQL enhancements you might make that will contribute a higher mark include:
- Store job descriptions in a database table and have the HTML dynamically created by PHP.
- Normalise the structure of the dataset by, for example, creating a primary-foreign key link between the eoi and job_description tables; job_description and skills, etc. Ensure that integrity of the database is preserved, for example an EOI cannot be created if the job reference number does not exist in the job_description table.
- Provide the manager with the ability to select the field on which to sort the order in which the EOI records are displayed.
- Create a manager registration page with server side validation requiring unique username and a password rule, and store this information in a table. Control access to manage.html by checking username and password. Have access to the web site disabled for user a period of time on, say, three or more invalid login attempts.
- Create a log out page with a link from the manage web page. Ensure the managers web site cannot be entered directly using a URL after logging out.
- One or more enhancements of your own devising. If you plan such enhancements it would be worthwhile checking with your tutor first to ensure they are appropriate and non-trivial.
A maximum of 2 extensions will be assessed. Up to 10 marks will be given per documented enhancement type. The filename of this page will be phpenhancements.html (or phpenhancements.php if it includes PHP script).
Web Site Folder Structure and Deployment Requirements
Create a website structured as specified in the previous assignments.
Your website folder structure should follow the structure below. All files should be under a folder /assign2.
Assign2/ You must have this folder case sensitive!
- index.php
- jobs.php
- apply.php
- about.php
- enhancements.php
- enhancements2.php
- phpenhancements.php
- header.inc
- menu.inc
- footer.inc
- settings.php
- ..other php function and include pages
- processEOI.php
- manage.php
- ..other php pages
- images/ Folder for images for your page content
- styles/ Folder for style.css other css files
- styles/images/ Folder for images referred to by your css files e.g. background
Note: All links to your files should be relative. Do not use absolute links, as these links will probably be broken when files are transferred for marking. No marks will be allocated if links are broken.
Individual Report (Individual Task)
The individual report is an individual task. Your report must be professionally written (within 1800 words). Table 1 presents the suggested structure for the report and some sample content for each section of the report.
Table 1. Components of Report and Requirements
Short Video (Team Task)
Create a short video to introduce and demonstrate your web application.
- Upload your video to youtube
- Create a hyper link in the index.html page of your website, link it to your youtube video
- Every team member must present in the demonstration video for a similar amount of time
- The total length of the video should be between 4 to 5 minutes.