This is a paper that is focusing on the CSY2028 Web Programming assignment paper. The paper also provides a brief to use in writing the assignment paper in detail.
The CSY2028 Web Programming assignment paper
Aims & Objective
The purpose of this assignment is to assess your ability to modify and improve PHP code on an existing PHP/MySQL driven website.
You are a developer for a web design agency and you have taken on a new client called Jo’s Jobs. Jo runs a small recruitment agency and the company’s website is used to list available jobs. Applicants can view the available jobs and apply for jobs they are interested in. The website was developed several years ago by Jo’s cousin but is now a little outdated and contains bugs that need fixing.
The administration area is available in the /admin/ directory, the password is letmein.
Below is an excerpt from one of Jo’s emails regarding the changes she wants you to make:
1) Firstly, can you change the copyright notice? It’s not 2017 any more!
2) Secondly, i want to add a new page called “FAQs”. Just add the page with some placeholder text that says “FAQs coming soon” and put a link in the menu. I’ll send the content over at a later date.
3) Thirdly, i can add a new category in the administration area, but the added categories do not appear on the list on the Jobs page or the navigation bar, can you fix this so the customers can view jobs from all the categories we add?
4) Sometimes we get requests to re-post old jobs. At the moment, we can delete jobs but it would be useful to be able to archive them so that we can easily repost them later on without having to type in all the information again.
5) The job list page in the admin area currently lists all jobs. Can you:
1. Add the category name for each job as a column in the table
2. Make it so we can filter these jobs by the category they are in. For example, show all HR jobs only.
6) Can you make it so that customers can filter the jobs by location? E.g. see all the jobs in Northampton or all the jobs in Milton Keynes?
7) I’d like my colleagues to be able to use the website. At the moment we all use the same password. Instead, I’d like to be able to manage user accounts so I can give new staff access (And remove their access when they leave the company). Each member of staff should have their own username and password used to log in to the admin area.
8) At the moment we do a lot of the work for our clients (The company who we are advertising the job for). They send us the job details and we post it on the site. Then we manually send them details about the applicants who have applied. I’d like it so that:
1. I can set up client user accounts who can then access a restricted version of the admin area
2. Clients should then be able to add jobs and see who has applied for their jobs
3. It is important that clients can only see details about and edit jobs they have posted.