Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Assignment 1

COS30020 Advanced Web Development

Semester 2, 2023

DUE ON:                       5:00 PM 8 September 2023

Assignment Worth:  40% of total marks

Assignment requirement specifications:

The aim of this assignment is to create a job posting system. This system will allow users to enter details about a job vacancy and saved into a text file. These postings can also be searched using various criteria and all matched postings will be displayed on a web browser.

For this assignment, you will need to create all the appropriate HTML, CSS, PHP and text files. As with lab activities, you should save and test all your HTML, CSS and PHP files on Mercury in a directory "~/cos30020/www/htdocs/assign1". The text data file "jobs.txt" should be in the directory “jobposts” under "~/ cos30020/www/data". The sample screen shots are provided only to illustrate the information requirement. It is expected that you create a much better user interface for this assignment.

Task 1 – Home Page index.php

This web page contains:

•    Your name

•    Your student SIMS number

•    Your email address

•    A  statement: “I declare that this assignment  is my individual work.  I have not worked  collaboratively, nor have I copied from any other student’s work or from any other source.”

•    A link to the post job vacancy into the system (postjobform.php)

•    A link to the job vacancy searching process (searchjobform.php)

•    A link to "about.php" page that tells us what you have attempted.

Sample screen shot of the home page:

Job Vacancy Posting System

Name: John Smith

Student ID: 1234567

Email:  [email protected]

I declare that this assignment is my individual work. I have not worked collaboratively, nor have I copied from any other student’s work or from any other source

Post a job vacancy

Search for a job vacancy                                                                                              About this assignment

Task 2 – Post Job Page postjobform.php

This web page contains the blank form except for the date that enables a job posting to be submitted and saved. The requirements are as follow:

Req. 1. Job vacancy data contains:

•     Position ID (Text input type. NOT NULL, should be unique e.g. PID0001). The code is 7 characters in length. It must start with 3 uppercase letter “PID” followed by 4 digits.

•     Title (Text input type. NOT NULL, e.g. “IT Manager”). The title can only contain a maximum of 20 alphanumeric characters including spaces, comma, period (full stop), and exclamation point. Other characters or symbols are not allowed.

•     Description (Text area type. NOT NULL, e.g. “This position promotes and supports the use of information technology throughout the organisation.”). The description can only contain a maximum of 250 characters.

•     Closing Date (Text input type. NOT NULL, should initially contain the current date of the server in dd/mm/yy format e.g. 08/08/23 or 26/8/23. This can be edited by the user.)

•     Position (Radio button type with 2 options: Full Time or Part Time)

•     Contract (Radio button type with 2 options: On-going or Fixed term)

•     Accept Application by (2 checkboxes, Post, Email)

•     Location (Select option type, should initially be 3 dashes. The options are ACT, NSW, NT,

QLD, SA, TAS, VIC and WA)

Req. 2.  POST method for form submission is used.

Req. 3. Link to return to the Home page is provided.

Sample screen shot of the job vacancy posting form:

Task 3 – Process Post Job Page postjobprocess.php

This PHP page checks the input data, writes the data to a text file and generates the corresponding HTML output in response to the user’s request. The requirements are as follow:

Req. 1. All fields are mandatory.

a)   The PHP page should not allow saving of job vacancy to the text file if any of these fields are not supplied or not valid (see rule in Task 1 – Step 1), and provide a proper error message to the user that includes links to return to the Home page and Post Job Vacancy page.

b)   The date must also be validated to conform to the dd/mm/yy format.

c)    Furthermore, the Position ID must be checked for its uniqueness within the text file.

Req. 2. Creation of the directory named “jobposts” on Mercury server inside “cos30020/www/data”

to store the job vacancy text file (“jobs.txt”) is handled AUTOMATICALLY by the PHP script, if it does not exist.

Req. 3.  Each job vacancy record should be saved in the text file called “jobs.txt”. Each record should be saved on one line, which means the next record should be saved in a new line (“\n”). Each field in a record should be separated by a tab (“\t”). The accept application by is stored as 2 separate columns.

Req. 4. A confirmation message should be generated for this entry followed by a link to return to the Home page, once the job vacancy is stored successfully in the file,

Task 4 – Search Job Vacancy Page searchjobform.php

This PHP page contains a form that accepts a job title search string. The requirements are as follow:

Req. 1. The  search job vacancy page  should  contain  an  input  text  field  for  typing  in  the job

title for searching the job vacancy information which was already saved in “jobs.txt” .

Req. 2. GET method for form submission is used.

Req. 3. Link to return to the Home page is provided.

Sample screen shot of searchjob vacancy page: 

 

Task 5 – Search Job Vacancy Page searchjobprocess.php

This PHP page checks the job title search string, reads the data from the job vacancy text file, searches for the occurrence of the job title string in each job vacancy record and generates the corresponding HTML output in response to the user’s search request. The requirements are as

follow:

Req. 1. The job title search string and the existence of the “jobs.txt” file are validated. If either validation fails, provide a proper error message to user that includes a link to return to the Home page and Search Job Vacancy page.

Req. 2. All job vacancy records are searched. Within string matches are allowed. For example, “IT Manager” will also be matched to “Senior IT Manager”

Req. 3. The summary of the requested job vacancy information should be generated including links to return to the Home page and Search Job Vacancy page if found. In cases where there are more than one job vacancy information located, all matches must be listed.

Req. 4.  If there is an error, a proper error message is generated that include links to return to the Home page and Search Job Vacancy page.

Sample screen shot of searchjob vacancy information page:

Job Vacancy Information

Job Title: IT Manager

Description: “This position promotes and supports the use of information technology throughout the organisation.”

Closing Date : 26/8/2013

Position: On-going - Full time

Application by: Email

Location: VIC

Search for another job vacancy                                                                          Return to Home Page

Task 6 – About Page  about.php

This is a PHP webpage for presenting what you have done based on the question provided. Req. 1.List your answers in bullet point for each question. The requirements are as follow:

•    What is the PHP version installed in mercury? (Use PHP function to generate this answer)

•    What tasks you have not attempted or not completed?

•    What special features have you done, or attempted, in creating the site that we should know about?

Req. 2. Provide a screen shot for the following:

•    What discussion points did you participated on in the unit’s discussion board for

Assignment 1? If you did not participate, state your reason.

Req. 3. Provide a link to return to the Home page.

Task 7 – Advanced Search Job Vacancy Page searchjobform.php

Req. 1.  Modify searchjobform.php to support additional search criteria

a)    By position

b)    By contract

c)    By application type

d)    By location

Req. 2.  If no criteria were selected, it means any value applies.

Task 8 – Order and Display Job Vacancy Result Page searchjobprocess.php

Req. 1.  Modify searchjobprocess.php to display job vacancy from the most future closing date until today’s date (inclusive of today’s date).

Submission & Assessment Process:

Create your site structure as described below.

assign1/                                  assignment folder

index.php                               Home page

postjobform.php                    Post a new job vacancy page

postjobprocess.php              Process job vacancy data

searchjobform.php                Search job vacancy page

searchjobprocess.php          Process job vacancy search data

about.php                             About page

style.css                                CSS style sheet rules for your stylesheet

style/                                     Folder for any stylesheet images  (optional)

Notes:

•    PHP files should only be in the base “assign1/” folder – not anywhere else.

•    All links to your files, including data files, should be relative.

o Links must not be absolute, as these links will be broken when files are transferred for marking.

o If links are broken, or an assignment does not run on the mercury server when we unzip it, the result will be a fail for this assignment.

Assignment Submission:

The assignment should be submitted as an individual work, using ESP (Electronic Submission Processor). ESP URL: (https://esp.swin.edu.au/).

Please compress all your PHP and support files as a zip file named “php_assignment_1.zip” to submit  via  the  ESP  tool.  You   can   submit  more  than  once  via   ESP  and  the  current  new submission overwrites the previous one.

* Make sure to test your program on the Mercury server before your submission.

* Full marks for each task will not be awarded if there are errors or issues in the way the code is implemented and/or if usability is not considered properly.

* If your assignment cannot run on Mercury, your result will be 0 marks for this assignment.

* If you do not submit all the files on ESP, your result will be 0 marks for this assignment.

Provisional Marking Scheme

The assignment will be marked out of 100.

Task

 

Mark

Task 1:

Home Page  (index.php)

a.   Page contained information shown in the screen shot

b.   Links worked using relative addressing                                                      

2

Task 2:

Post Job Vacancy Page  (postjobform.php)

a.   Form contained all information shown in the screen shot

b.   Date field contained the server date

c.   Web page used the POST method

d.   Links worked using relative addressing

5

Task 3:

Process Post Job Vacancy Page  (postjobprocess.php)

a.   Directory/file exist checked before directory creation

b.   Directory created using the correct path

c.   Data saved with appropriate tab and line break

d.   File opened and closed properly

e.   Input data validated

f.    Position ID is verified to be unique

g.   Appropriate error messages generated if errors occur

h.   Links worked using relative addressing

35

Task 4:

Search Job Vacancy Page  (searchjobform.php)

a.   Form contained information similar to the screen shot

b.   Web page used the GET method

c.   Links worked using relative addressing

3

Task 5:

Search Job Vacancy Result Page  (searchjobprocess.php) a.   Search string and file existence validated

b.   Search performed correctly and summarises correctly

c.   File opened and closed properly

d.   Appropriate error messages generated if errors occur

e.   Links worked using relative addressing

20

Task 6:

About Page  (about.php)

a.   All questions answered

b.   Links worked using relative addressing

5

Task 7:

Search Job Vacancy Page(searchjobform.php)

a.   By position

b.   By contract

c.   By application type

d.   By location

e.   Allow no criteria

10

Task 8:

Search Job Vacancy Result Page  (searchjobprocess.php)

a.   Properly sort the result

b.   Display only those job vacancies that had not closed as of today

10

 

Overall Quality

a.   User interface layout improved beyond the sample screen shot

b.   CSS used for colours and styles (must have good colour contrast)

c.   All pages validated (no partial mark)

d.   PHP codes commented and indented properly (see lab work)

10

Total

 

100

The marking scheme only provides a guide, it is expected that implementation demonstrates good coding and testing procedure.

* Full marks for each task will not be awarded if there are errors or issues in the way the code is implemented and/or if usability is not considered properly.

If your assignment cannot be properly tested, your result will be 0 marks for this assignment. Note that JavaScript support in the browser will be disabled during testing.

*The assignment is your original work. If your assignment is not your original work, your result will be zero marks for this assignment.

If your assignment cannot run on Mercury, your result will be 0 marks for this assignment.