Page 1 of 4
ITECH3108 – Dynamic Web Development
Assessment Task – Full-stack Web Application
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
• S3. Design and implement a web-based Application Programming Interface (API).
• A1. Design, develop, test, and debug client/server web applications to provided
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
• 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
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.
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.
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.
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 will be supplied through Moodle.
Authoritative results will be published on fdlMarks.
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
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
• 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|
• API requires authentication
• Passwords use appropriate hashing
• Data is stored using a database
|2 2 3|
• 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)