Advanced Web Scripting - Practical Assessment
Background / Requirements
Parkfordshire University has a timetabling system which allows for the production of personalised timetables, based on the modules each student is taking as part of their course. PU are keen to develop their system to allow students to choose the times to attend classes where a particular session runs more than one once.
Your job is to complete a number of practical tasks to implement a client-side front-end that will implement the desired functionality. A number of resources are available to help you complete these tasks, all of which are described below.
In addition, you must complete the design commentary task by describing key design decisions and features of your code.
Resources
To assist you in your development, PU have provided:
- a sample timetable display page created using HTML and CSS
- a default timetable in the form of JSON data to show how information can be accessed
- a remote service that will provide personalised timetable data for individual students
- a remote service for accepting proposed timetable choices
These resources are available on StudyNet along with the assignment briefing. You are free to use or change these resources as you wish in order to complete the tasks outlined below.
Development Tasks
To complete this assignment, you need to undertake each of the following practical tasks. The assessment of your work is described in the next section.
Practical Task 1: Display timetable information
Create a web page that will display a student's individual timetable using the sample timetable data (contained in sample.js). The user view could be in the form of a "week at a view" layout as shown in the sample timetable display (sample.html) - although you are free to create your own alternative design if you prefer.
The display should:
Show all the scheduled contact sessions for the sample timetable data
For each session, show the
- type of teaching (e.g. lecture, tutorial, practical)
- location, start and end time
- module code and group id
Practical Task 2: Dynamically populate content
Create a web page that will display a student's individual timetable, based on data retrieved from an external service.
The display should:
- Allow a user to enter their UH email and SRN for authentication purposes
- Retrieve the personalised timetable for the specified student
- Show all the scheduled contact sessions for a student's modules, as per task 1
- Show which sessions in a module are repeated at alternative times, as shown by the data returned from the service.
You are free to restructure the data returned by the service as required.
Practical Task 3: Allow choice of sessions
Create a web page that will allow users to choose between alternative times for sessions that run more than once, i.e. have multiple occurrences.
The display should:
- Allow a user to select a multi-occurrence session
- Highlight alternative choices for the selected session
- Allow the user to select an alternative session
- Highlight any clashes with other sessions occurring at that time
Practical Task 4: Upload session choices
Create a web page that will allow users to upload and register their choices for multi-occurrence sessions on their timetable.
The display should:
- Check there are no clashes with two or more timetabled sessions chosen for the same time
- Provide an option to register their choices if and only if no clashes are present
- Upload the data
- Show the upload has been successful
Task 5: Design Commentary
Write a commentary describing the decisions you have made in designing and writing the code for each of the practical tasks. The commentary should be approximately 600 words in length in total.
Attachment:- Assignment.rar