Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: THEend8_
COMP2041 Assignment
JavaScript is used increasingly to provide a native-like application experience in the web. One major avenue of this has been in the use of Single Page Applications or SPAs. SPAs are generated, rendered, and updated using JavaScript. Because SPAs don’t require a user to navigate away from a page to do anything, they retain a degree of user and application state.
There are millions of websites that utilise SPAs in part of, or all of their web applications.
The assignment intends to teach students to build a simple SPA which can fetch dynamic data from a HTTP/S API. Your task will be to provide an implemention of an SPA that can provide a number of key features.
Some of the skills/concepts this assignment aims to test (and build upon):
The backend server will be where you’ll be getting your data. Don’t touch the code in the backend; although we’ve provided the source, it’s meant to be a black box. Final testing will be done with our own backend. Use the instructions provided in the backend/README.md to get it started.
For the full docs on the API, start the backend server and navigate to the root (localhost:5000). You’ll see all the endpoints, descriptions and expected responses.
Your site should be compatible with ‘modern’ Chrome, Safari, and Mozilla browsers. We will assume your browser has JavaScript enabled, and supports ES6 syntax.
Clone the gitlab repository using the instructions below. It has a code, full documentation, and a working server you’ll need for developing your frontend application.
Please read the relevant docs for setup in the folders backend/ and frontend/ of the provided repository. Each folder outlines basic steps to get started. There are also some comments provided in the frontend source code.
Level 0 focuses on the basic user interface and interaction building of the site. There is no need to implement any integration with the backend for this level.
It is a requirement of the assignment that when you work on the assignment for more than a few minutes you push the work to gitlab.cse.unsw.edu(see above).
You must implement this assignment in Javascript.
You may use small amounts (< 10 lines) of general purpose code (not specific to the assignment) obtained from a site such as Stack Overflow or other publically available resources. You should attribute clearly the source of this code in a comment with it.
You can not otherwise use code written by another person.
Do not use NPM to install libraries other than as indicated in the specifcation.
This is an individual assignment. The work you submit must be your own work and only your work apart from any exceptions explicitly included in the assignment specification above.
Joint work is not permitted.
You are only permitted to request help with the assignment in the course forum, help sessions or from course lecturers or tutors.
Do not provide or show your assignment work to any other person (including by posting it on the forum) apart from the teaching staff of COMP[29]041.
The work you submit must otherwise be entirely your own work. Submission of work partially or completely derived from any other person or jointly written with any other person is not permitted. The penalties for such an offence may include negative marks, automatic failure of the course and possibly other academic discipline. Assignment submissions will be examined both automatically and manually for such submissions.
We are required to inform scholarship authorities if students holding scholarships are involved in an incident of plagiarism or other misconduct, and this may result in a loss of the scholarship.
Plagiarism or other misconduct can also result in loss of student visas.
If you knowingly provide or show your assignment work to another person for any reason, and work derived from it is submitted you may be penalized, even if the work was submitted without your knowledge or consent. This may apply even if your work is submitted by a third party unknown to you.
Note, you will not be penalized if your work is taken without your consent or knowledge.