Quiz instructions Practice Assessment This quiz contains the task descriptions/questions for the Practice Final Assessment. This practice assessment will NOT be marked. It is provided to help you prepare for the Final Assessment. More details on the Assessment can be found HERE
Make sure you are familiar with these details before commencing the actual assessment; you are required to review those details and complete a readiness quiz to gain access if you haven't already done so.
Assessment Content This quiz contains practice questions and tasks that examine the same skills and knowledge as the tasks you will receive in the final assessment, however due to recent advances in Generative AI, some of the tasks themselves will be different . Submitting Your submission will be in 2 parts:
Resuming a closed/timed-out session If your session is closed or timed-out, re-open/re-load the assignment page on MyUni and click the Resume Quiz button below .
Seeking Help/Clarification During the real assessment period, your teacher(s) will be available on Zoom each day between 9am-5pm to help with any admin or technical issues and provide clarification if required. Be aware, messages sent to other platforms may not be read/addressed during the assessment time period. The Zoom details will be provided here in he real assessment Before you begin Connect to GitHub Classroom to access your repository and configuration/starter files for this assessment: Don't forget to regularly push/sync your progress.
You have been hired to design a web application for an online shop that sells shoes. The system requires the following features: Users can search the dif ferent shoes available Shoes can be searched/filtered by: Shoe Size Different shoe styles Different Brands/Labels Price Users can sign-up and log-in Users can order shoes Users can view their order history
Thinking about such a system, complete the following tasks: 30 pts Question 1 Upload
Design a database schema diagram for the system described. Be sure to include appropriate relationships and cardinalities. Be sure to normalise the schema to at least 3rd normal form. Submit as an image or pdf file. Choose a file
When building a database schema, N-N relationships need to be properly reduced/decomposed. Briefly discuss how this applies to the system you've designed in Task 1.1 and, specifically in terms of your system and its relationships, explain how this relates to database normalisation. General explanations/descriptions to do not relate to your implementation will not receive marks. 0 words </> 30 pts Question 3
Implement your database schema from Task 1.1 in MySQL When you create the database Ensure appropriate tables, data types, keys and integrity constraints are present. Add at least 1 row of test data to each table.
Save a backup/dump of the database as a .sql file in your GitHub Repository
You can use the space below for notes/comments:
0 words </> 10 pts Question 4
Write a SQL query to retrieve the name and email address of all users who bought a given item in the last 5 days.Edit View Insert Format Tools Table 12pt Paragraph You can assume the item's unique indentifying information is provided. 0 words </> 160 pts Question 5
Implement a basic web application for the search feature of this online shop. Use only the technologies covered in this course: HTML & CSS JavaScript, AJAX, & basic client-side V ue.js NodeJS/Express MySQL Only implement the search page/feature and any necessary supporting code on the server . You do NOT need to implement other features. Users should also be able to filter search results by: Shoe Size Different shoe styles Different Brands/Labels PriceEdit View Insert Format Tools Table 12pt Paragraph Be sure to follow best practices as discussed throughout the course.
Your implementation should be saved in your GitHub Repository
The marks for this task are assigned as follows: Up to 30 marks for functionality Up to 20 marks for HTML & CSS Up to 20 marks for client side JS and V ue Up to 20 marks for AJAX requests Up to 20 marks for server side routes Up to 20 marks for MySQL integration Up to 30 marks for good UX, standard compliance, maintainability & security practices
You can use the space below for notes/comments: 0 words </> 15 pts Question 6 Edit View Insert Format Tools Table 12pt Paragraph
Betts (https://www.betts.com.au/) is an example of an online shop that sells shoes. Identify a feature present in both the Betts website, and your implementation from Task 1.5. Specifically in terms of perceivability and kinematic load, discuss how these two systems compare 0 words </>
The provided part2 folder contains a web application. This web application is for the online Q&A site that we developed throughout the semester . To run it, you will need to:
The files provided contain a number of HTML & CSS validation errors
Identify the validation errors and in terms of those specific errors discuss the benefits and disadvantages of how modern web browsers handle invalid HTML & CSS. General explanations/descriptions that do not relate to the identified errors will not receive marks. 15 pts Question 8
The provided index.js JavaScript file in the routes folder also contain a number of linting errors for the linting rules used in this course.
Identify the linting errors and in terms of those specific errors discuss the role that linting plays in the development of error-free code. General explanations/descriptions that do not relate to the identified errors will not receive marks. 15 pts Question 9
Specifically using examples from this Part 2 web application, explain the purpose and role of HTTP status codes in web systems. General explanations/descriptions that do not relate to the Part 2 web application will not receive marks.
Discuss the role that middleware plays in the security of this web application and identify any issues with the way that the middleware in this web application is implemented. General explanations/descriptions that do not relate to this Part 2 web application will not receive marks.
This web application contains a SQL injection vulnerability .
Identify the vulnerability and explain the consequences of SQL injection in terms of this vulnerability . General explanations/descriptions that do not relate to this Part 2 web application will not receive marks. 30 pts Question 12
Using the vulnerability identified in 2.5, use Insomnia to craft and test an exploit that does one of the following: Modifies data in the database without authorisation Reveals data from the database without authorisation
Use the Copy as Curl option to copy the request for this exploit as done in pracs. Submit the copied Curl command/request. 80 pts Question 13
Using the list below , fix the issues and make the improvements identified. Fix the validation and linting issues identified in 2.1 & 2.2. Fix any issues with the middleware in this web application as identified in 2.4. Fix the SQL injection vulnerability identified in 2.5. Saved at 15:51 Your fixed web application should be saved in your GitHub Repository
The marks for this part are assigned as follows: 20 marks for validation and linting issues fixed 30 marks for middleware issues fixed 30 marks for SQL injection issues fixed
You can use the space below for notes/comments: Submit quiz