ISYS3008 Assessment 1 – Iteration 2
PROG2002 WEB DEVELOPMENT II
Summary
Title Assessment 2 – Server-side of website
Type Individual assessment
Due Date Monday, 2 Oct 11:59 pm AEST (Week 6)
Length Refer to the assessment details below
Weighting 40%
Academic Integrity Please read carefully the Academic Integrity section below
Submission • Working websites (client-side and admin-side) deployed to SCU
cPanel.
• RESTful API (NodeJS) and AngularJS apps are submitted to
Blackboard.
• See detailed information in the submission section.
Unit Learning
Outcomes
This assessment task maps to the following ULOs:
• ULO1: understand and apply client-side and server-side web
development technologies.
• ULO3: plan, design, develop, and deploy a complete dynamic
website.
Rationale
This section describes the purpose of the assessment task (the ‘why’).
This assessment aims to develop both client-side and admin-side websites using AngularJS, and the
apps will call the APIs created. The assessment uses a similar case study used in Assessment 1, but
the complexity is further improved by including APIs and admin-side aspects to create a complete
dynamic website. The assessment will also require students to deploy both websites to SCU cPanel
to demonstrate complete skills in developing a dynamic website.
Task Description
This section provides a brief description of the assessment task (the ‘what’).
Previously, you have developed the client-side of a hospital website, but didn’t involve the server
side, didn’t connect to a database, and without the admin side to manipulate the doctor data.
In real practice, a website application needs to reside on a server, connect to a database and is able
to handle clients’ requests, and generate dynamic content for the clients based on their requests.
Therefore, this assessment will use the same case study used in Assessment 1.
In this assessment, your task is to develop the server-side of a hospital website using AngularJS. The
web application is expected to have the following requirements.
• A MySQL database using NodeJS that stores the available doctors and specialties.
• RESTful APIs to fetch the details of the list of available doctors, including insert, update, and
delete actions.
• A simple client-side Angular app to display the list of doctors.
• A simple admin-side Angular app to display the list of doctors, including insert, update, and
delete actions.
ISYS3008 Assessment 1 – Iteration 2
• The assessment must use NodeJS and AngularJS languages only (described in
Unit modules). Other than these, the submission is not acceptable.
• Paying for someone to write code for you or using GenAI to write your
assessment will be considered academic misconduct.
This assignment is to be completed individually. It is the opportunity to gain an understanding of the
concepts of building a dynamic website. It is important that you master these concepts yourself. You
are permitted to work from the examples in the study guide or textbook but you must acknowledge
assistance from other textbooks or classmates. In particular, you must not use online material or help
from others, as this would prevent you from mastering these concepts.
Who can you get help from? Use this diagram to determine from whom you may seek help with your
program.
Encouraged
Attribution Required
Ask tutor
Not acceptable
Please note that if your marker has any suspicion that you had help with your code or that your work
is not your own you will be asked to come to a meeting with your marker to explain your code. Any
student who is unable to explain their code will be submitted for academic misconduct.
Task Instructions
This section provides step-by-step task instructions (the ‘how’).
Part 1 – Setup MySQL database using NodeJS
You are required to complete the following requirements using MySQL and NodeJS. This part is
covered in Module 4.
• Install a MySQL server, connect to the MySQL server, and create a new database called
“hospital_db” by creating a file named “hospital_db.js”.
• Create two new tables called DOCTOR and SPECIALTY that store the list of available doctors
and the doctor specialties.
Lecturer Tutors Online
Forums
Relatives Students
outside unit Hired coders
Classmates Private
Tutors Other
ISYS3008 Assessment 1 – Iteration 2
o In the DOCTOR table, create the following fields: DOCTOR_ID (PK), NAME,
MEDICALDEGREE, QUALIFICATION, SPECIALTY_ID (FK). A doctor can only be
classified into one specialty.
o In the SPECIALTY table, create the following fields: SPECIALTY_ID (PK), NAME.
• For the two tables above, use the appropriate data type for each of the fields.
• Insert at least 10 records into the DOCTOR table and at least 5 records into the SPECIALTY
table.
Part 2 – Create a RESTFul API
Create RESTful APIs using NodeJS and ExpressJS to manipulate the DOCTOR table only in the
database. The APIs should have the following requirements. This part is covered in Module 4.
• Using GET method to retrieve all doctors (i.e.,s doctors’ details and its specialty name) from
the database.
(See Module 4 > Displaying database results on Client Side > Hosting RESTful API).
• Using POST method to insert a new doctor record into the database.
(See Module 4 > Displaying database results on Client Side > Create: Post method).
• Using PUT method to update a doctor based on the doctor ID inputted.
(See Module 4 > Displaying database results on Client Side > Update: Put method).
• Using DELETE method to delete a doctor based on the doctor ID inputted.
(See Module 4 > Displaying database results on Client Side > Delete: Delete method).
Once you complete this part, you may test your APIs using Postman (covered in Module 4)
NOTE: You are not required to create APIs for the SPECIALTY table. You are not required to use
Injectable Service for this part.
Part 3 –Angular project for a simple client-side web
You are required to create a simple one-page web application using AngularJS to display a list of
doctors stored in the database by calling the GET API (that you made in Part 2). The visitors/patients
will use this web page to see the list of available doctors. The page should have the following
requirements. This part is covered in Module 5.
• Create an Angular project and import all the required modules, such as HttpClient etc.
• Using the Angular component, add a page in your Angular project to display the details of
doctors and their specialties (see Module 5).
You are free to decide on the page layout as long as it shows the required information.
Note:
• Don’t spend your time too much on the layout. Hint: You may use the same layout that you
made in Assessment 1 Part 1 to save your time.
• Use one page only.
• Notice that this part is similar to Assessment 1 but excludes the Parts 2-4 (i.e., Enquiry and
Make an Appointment pages).
• To call your APIs from your AngularJS, you may see the examples shown in Module 6 > AJAX
and REST > HTTP Observables
ISYS3008 Assessment 1 – Iteration 2
Part 4 –Angular project for a simple admin-side web
You are required to create a simple one-page web application using AngularJS to manipulate the
doctors stored in the database by calling the APIs (that you made in Part 2). The hospital admin will
use this webpage to manipulate the doctors’ data. The page should have the following
requirements. This part is covered in Module 5.
• Display all the doctors by calling the GET API.
• Create a new form to insert a new doctor. Once the user presses a SAVE button, the button
will call the POST method created in Part 2. Validation should be performed to make sure
the user fills in the required fields.
• Create a new form to update a doctor. Once the user presses a SAVE button, the button will
call the PUT method created in Part 2. Validation should be performed to make sure the user
fills in the required fields.
• Create a REMOVE link next to each doctor to delete the doctor. Once the user presses the
REMOVE link, the button will call the DELETE method created in Part 2.
Note:
• You are free to decide the page layout as long as it can perform the required actions.
• You are not required to use multiple components, but it does not limit you to use multiple
components and Angular route to handle multiple components (see Module 6) if you want
to.
• You are not required to manipulate the specialty table.
• For simplicity, assume that the admin-side web does not require the user to log in.
Part 5 – Deploying the website to SCU server
To meet the ULO3, you are required to upload your codes to the SCU cPanel server so the website
will fully function and demonstrate its functionalities.
Each student will receive the SCU cPanel login to access your account (check your SCU email). There
will be a video to guide you on how to upload your website to the server.
Resources
In this section, provide links to resources required to complete the assessment task.
Use the following resources to support you when working on this assessment.
• Unit Modules 4-6 on Blackboard.
• Additional videos to deploy AngularJS websites and APIs to the SCU cPanel server. Will be
made available later.
Referencing Style Resource
NA
ISYS3008 Assessment 1 – Iteration 2
Task Submission
In this section, provide submission instructions.
• Deploy both client-side and admin-side websites and APIs to SCU cPanel server.
• You are also required to submit your code to the Blackboard. Upload both RESTful API
(NodeJS) and Angular apps. For Angular apps, please upload "src" folder only, as the rest of
the folders take up much space.
• Include the following information in your submission (in the comment box):
o The URLs to access your applications (i.e., the client-side web app, the admin-side
web app, and the RESTful API links). For example:
▪ Client-side app: https://nehemia.it.scu.edu.au/
▪ Admin-side app: https://nehemia.it.scu.edu.au/admin
▪ RESTful API app: https://nehemia.it.scu.edu.au/server
o A short quick video link (1-2 mins) (e.g., GoogleDrive, OneDrive etc) that
demonstrates how your web apps work after are uploaded to the SCU cPanel. This
video will help your tutor during marking in case your APIs does not work when the
tutor is testing them.
Academic Integrity
At Southern Cross University, academic integrity means behaving with the values of honesty,
fairness, trustworthiness, courage, responsibility and respect in relation to academic work.
The Southern Cross University Academic Integrity Framework aims to develop a holistic, systematic
and consistent approach to addressing academic integrity across the entire University. For more
information, see: SCU Academic Integrity Framework
NOTE: Academic Integrity breaches include unacceptable use of generative artificial intelligence
(GenAI) tools, the use of GenAI has not been appropriately acknowledged or is beyond the
acceptable limit as defined in the Assessment, poor referencing, not identifying direct quotations
correctly, close paraphrasing, plagiarism, recycling, misrepresentation, collusion, cheating, contract
cheating, fabricating information.
At SCU the use of GenAI tools is acceptable, unless it is beyond the acceptable limit as defined in the
Assessment Item by the Unit Assessor.
GenAI May Not be Used
Generative Artificial Intelligence (GenAI) tools, such as ChatGPT, may not be used for this
Assessment Task. You are required to demonstrate if you have developed the unit’s skills and
knowledge without the support of GenAI. If you use GenAI tools in your assessment task, it may
result in an academic integrity breach against you as described in the Student Academic and NonAcademic Misconduct Rules, Section 3
Special Consideration
Please refer to the Special Consideration section of Policy.
https://policies.scu.edu.au/document/view-current.php?id=140
ISYS3008 Assessment 1 – Iteration 2
Late Submissions & Penalties
Please refer to the Late Submission & Penalties section of Policy.
https://policies.scu.edu.au/view.current.php?id=00255
Grades & Feedback
Assessments that have been submitted by the due date will receive an SCU grade. Grades and
feedback will be posted to the ‘Grades and Feedback’ section on the Blackboard unit site. Please
allow 7 days for marks to be posted.
Assessment Rubrics
Marking criteria for this assessment can be found on the Assessment page.
Description of SCU Grades
High Distinction:
The student’s performance, in addition to satisfying all of the basic learning requirements,
demonstrates distinctive insight and ability in researching, analysing and applying relevant skills and
concepts, and shows exceptional ability to synthesise, integrate and evaluate knowledge. The
student’s performance could be described as outstanding in relation to the learning requirements
specified.
Distinction:
The student’s performance, in addition to satisfying all of the basic learning requirements,
demonstrates distinctive insight and ability in researching, analysing and applying relevant skills and
concepts, and shows a well-developed ability to synthesise, integrate and evaluate knowledge. The
student’s performance could be described as distinguished in relation to the learning requirements
specified.
Credit:
The student’s performance, in addition to satisfying all of the basic learning requirements specified,
demonstrates insight and ability in researching, analysing and applying relevant skills and concepts.
The student’s performance could be described as competent in relation to the learning requirements
specified.
Pass:
The student’s performance satisfies all of the basic learning requirements specified and provides a
sound basis for proceeding to higher-level studies in the subject area. The student’s performance
could be described as satisfactory in relation to the learning requirements specified.
Fail:
The student’s performance fails to satisfy the learning requirements specified.