Dynamic Web Development

Page 1 of 4
ITECH3108 – Dynamic Web Development
Assessment Task – Full-stack Web Application
Overview
For this assessment task, you will design, implement, and debug a full-stack web application,
creating both a back-end API and appropriate front-end.
Timelines and Expectations
Percentage Value of Task: 25%
Due: Refer to Course Description
Minimum time expectation: 34 hrs
Learning Outcomes Assessed
The following course learning outcomes are assessed by completing this assessment task:
K2. Contrast the capabilities and limitations of client-side and server-side web code.
K3. Detect opportunities for increasing security and privacy of web applications.
S1. Develop client/server web applications using client-side and server-side code.
S2. Connect to and manipulate a database management system programmatically using
server-side code.
S3. Design and implement a web-based Application Programming Interface (API).
A1. Design, develop, test, and debug client/server web applications to provided
specifications.
Assessment Details
For this assignment, you will build upon skills acquired through the course and completion of
prior assignment work to develop an
online poetry sharing site. Give it a cool name, like
“Poetry zone” or something.
The poetry sharing site has the following functional requirements:
Visitors (i.e. members of the public) can sign up to become a Member, supplying a
username and password;
Once signed up, members can add Poems that they have written, with a title and a
body;
Both visitors and members can see a global list of Poems;
Members can comment on each poem
Members can give a rating to each poem – it is up to you to decide what form this
rating takes. A single member can only rate any given poem once;
The global list of poems must show an aggregate rating for each poem;
Members can view a list of the poems they have given a positive rating; and
To prevent abuse, members can choose to hide particular comments on their own
poems, without affecting the rating.
The poetry site has the following non-functional requirements:
The site must be structured as an HTML front-end with a RESTful API back-end;
Compared to your previous assignment, it’s ok to have multiple HTML pages, and a
mix of dynamically-generated HTML and API-based functionality;
CRICOS Provider No. 00103D | RTO Code 4909
CRICOS Provider No. 00103D | RTO Code 4909 Processes and Automation Assignment Page 2 of 4
At minimum, the following functions, if implemented, must using a RESTful API
approach, without whole-page reloads at the client:
o Commenting on a poem
o Rating a poem
o Hiding a comment
The API must be protected from unauthorized use – that is, members should not be
able to comment on behalf of other users via the API, for example;
Poems, comments, ratings and member information must be saved in a relational
database, either PostgreSQL or SQLite; and
Passwords must be securely stored (use Argon2 or bcrypt at minimum, not plain text
or MD5)
Initial data
Include enough initial data to be an effective demonstration of your site – at least 3 users, 5
poems, and 10 comments/ratings. At least one poem should have no ratings at all.
If you choose to use PostgreSQL, include an SQL script that will generate your database
with your assignment submission. Such a script should also create the database.
If you choose to use SQLite, include your SQLite file in your submission.
Report
Include in your submission a report containing:
A brief description of your assignment architecture, including a list of URL patterns
used in your API;
A statement indicating which features of the assignment you completed;
A statement indicating what help you received, if any, from outside sources. Include
this statement even if you completed the assignment entirely on your own. You do
not need to acknowledge ITECH3108 course materials.
If you include the creative works of others in your database (existing poetry), acknowledge
those sources appropriately.
Hints
This assignment requires you to demonstrate complex problem-solving skills; and so minimal
guidance on the structure of your solution will be provided in this assignment specification.
You are free to discuss the architecture of your solution with your peers, as long as you
acknowledge them in your report.
Submission
Zip your assignment files, preserving the directory structure, and submit via Moodle.
Marking Criteria / Rubric
Refer to the attached marking guide.
CRICOS Provider No. 00103D | RTO Code 4909 Processes and Automation Assignment Page 3 of 4
Feedback
Feedback will be supplied through Moodle.
Authoritative results will be published on fdlMarks.
Academic Misconduct
To submit your assessment task, you must indicate that you have read and understood, and
comply with, the Federation University Australia Academic Integrity and Student Plagiarism
policies and procedures
(http://policy.federation.edu.au/learning_and_teaching/compliance/academic_integrity/ch02.php).
You must also agree that your work has not been outsourced, and is entirely your own
except where work quoted is duly acknowledged. Additionally, you must agree that your
work has not been submitted for assessment in any other course or program.

CRICOS Provider No. 00103D | RTO Code 4909 Processes and Automation Assignment Page 4 of 4
ITECH3108 – Dynamic Web Development
Marking Guide – Full-stack Web Application

Criteria Maximum Obtained
Functional requirements
Sign-up with username and password
Submit a new poem with title and body
Global list of poems
Members can leave comments
Members can rate poems
Aggregate ratings
Favourites / positive poems
Hide comments
2 2 2 2 2 2 2 2
Non-functional requirements
API requires authentication
Passwords use appropriate hashing
Data is stored using a database
2 2 3
Report
Description of software/system architecture
Statement of completion (2 marks deducted if not included)
Statement of assistance (2 marks deducted if not included)
Appropriate use of English and referencing (up to 3 marks deducted)
2
(-2)
(-2)
(-3)
Total 25