1. Homepage
  2. Programming
  3. ITECH3108 Dynamic Web Development - Assessment 1 - Front-end Development

ITECH3108 Dynamic Web Development - Assessment 1 - Front-end Development

Engage in a Conversation
Federation UniversityITECH3108Dynamic Web DevelopmentFront-end DevelopmentForum ApplicationJavascriptDOMRESTful

ITECH3108 – Dynamic Web Development CourseNana.COM

Assessment Task – Front-end Development CourseNana.COM

Overview CourseNana.COM

For this assessment task, you will use skills acquired through the first six weeks of material to build an interactive front-end to an API. CourseNana.COM

You will be developing a front-end for a simple forum application, using front-end JavaScript, the Document Object Model, and fetch to connect to a RESTful web API. You will also submit a written reflection on your learning. CourseNana.COM

Timelines and Expectations Percentage Value of Task: 30% CourseNana.COM

Due: Refer to Course Description Minimum time expectation: 34 hrs CourseNana.COM

Learning Outcomes Assessed CourseNana.COM

Refer to Unit Description. CourseNana.COM

Assessment Details CourseNana.COM

For this assignment, you will need to create an interactive front-end for an existing API, using HTML, CSS and JavaScript. CourseNana.COM

Part one – Install the API server application CourseNana.COM

Using the skills you developed in the week 1 laboratory task, install the API server application. The application can be installed using the following single command: CourseNana.COM

            deno install --allow-read --allow-net
             https://cdn.jsdelivr.net/gh/ITECH3108FedUni/assignment_api@v2022.05/chat_server.js

Ensure that is correctly installed by running chat_server and pointing your browser at https://localhost:7777, which should give an overview of the server API and a live display of the current database. CourseNana.COM

Data Model
The database exists in-memory only, and will be reset every time the server restarts, so CourseNana.COM

don’t be afraid of breaking anything in it.
There are two top-level object types:
users and threads. A CourseNana.COM

user has a username and a name (or display name).
A
thread has a title, an id, an icon, and an array of posts.
A
post has a user (the author of the post) and a text field (the content of the post). The complete database is displayed in the browser, and updates automatically. CourseNana.COM

Page 1 of 6 CourseNana.COM

Server functionality CourseNana.COM

The chat_server API has (at minimum) the following resources available: CourseNana.COM

GET /api/threads
GET /api/threads/{id}
GET /api/threads/{id}/posts CourseNana.COM

Retrieve a list of all threads Retrieve a specific thread CourseNana.COM

Retrieve a specific thread and all the associated posts CourseNana.COM

Retrieve a list all users
Retrieve information about a specific user CourseNana.COM

GET /api/users
GET /api/users/{user}
GET /api/users/{user}/threads Retrieve all threads started by a particular user CourseNana.COM

/api/threads

Create a new thread. Requires a JSON body to be submitted with a content-type of application/json CourseNana.COM

The body must be a JSON object containing the following keys: CourseNana.COM

user : The username of the user posting. icon: A single character - e.g. an emoji. title : The title of the thread. A string. text : The content of the first post. A string. CourseNana.COM

/api/threads/{id}/posts

Create a new post within a particular thread. Requires a JSON body to be submitted with a content-type of application/json CourseNana.COM

The body must be a JSON object containing the following keys: CourseNana.COM

user : The username of the user posting. text : The content of the post. A string. CourseNana.COM

/api/threads/{id}

Delete an entire thread, and all posts within it. Requires a JSON body to be submitted with a content-type of application/json CourseNana.COM

The body must be a JSON object containing the following keys: CourseNana.COM

user : The username of the current user, which must match the user who created the post otherwise an error value is returned. CourseNana.COM

Any errors will be reported both by an appropriate status code (eg. 400, 401, 404) and by a JSON response containing an “error” key. CourseNana.COM

The API does not allow creating or deleting users, nor deleting individual posts. It does not support the PUT verb for any resources. CourseNana.COM

Creating a thread using the API also creates the first post within it. CourseNana.COM

Part two – Build the application CourseNana.COM

Create a front-end HTML, CSS and JavaScript application that uses the above API. CourseNana.COM

Your application should run within the regular Deno file_server application. During development you will need to run both file_server to serve your assignment files and chat_server to serve up your chat forum API. In Windows, this is easiest achieved by running multiple command prompts. CourseNana.COM

The application should have the following functionality: CourseNana.COM

  • Upon loading the site, the user is presented with a “login” screen – this does not need to perform any authentication and merely asks the user to type their username. (e.g. Figure 1) CourseNana.COM

    Figure 1. Login screen CourseNana.COM

  • The application should check that this username is already in the database by requesting the appropriate API endpoint, and retain this username and use it in subsequent requests as required. CourseNana.COM

  • After login, the application should display a list of all threads, where each thread is a clickable link (e.g. Figure 2) CourseNana.COM

    Figure 2 Threads screen CourseNana.COM

  • The user should be able to create a new thread, supplying a thread title and the text of an initial post. (No mockup supplied – implement this however you like). CourseNana.COM

  • When the user clicks on one of the listed threads, the list of posts should be dynamically loaded and displayed underneath (e.g. Figure 3). CourseNana.COM

Logged in as Owen Dow CourseNana.COM

Threads New thread CourseNana.COM

Does anybody play an instrument? Hey everybody! CourseNana.COM

Logged in as Owen Dow CourseNana.COM

Threads CourseNana.COM

Does anybody play an instrument? CourseNana.COM

I love to play
- Norman C. Lowery
CourseNana.COM

guitar, anybody else? CourseNana.COM

Not me.
- Amanda Costa Rodrigues
CourseNana.COM

Ok. Thanks for your contribution @amanda CourseNana.COM

- Norman C. Lowery
My reply
Post CourseNana.COM

Hey everybody! CourseNana.COM

Figure 3 Posts screen CourseNana.COM

  • The user should be able to add a post to a thread. CourseNana.COM

  • The user should be able to delete a thread that they created themselves. CourseNana.COM

  • Every 10 seconds, the data currently being displayed should be refreshed from the server, without losing user input (for example in the Reply box). CourseNana.COM

    Hint: look at using window.setInterval or window.setTimeout CourseNana.COM

    Libraries CourseNana.COM

You must use the APIs from the given library. If you need to use additional APIs from other libraries, please make sure you include the exact version. Otherwise, the system will pull the latest APIs, and your page may break. CourseNana.COM

Challenge task (optional!) CourseNana.COM

Use the History API to make it possible to use the Back and Forward browser buttons to navigate (eg, clicking back after clicking a thread). CourseNana.COM

Part three – Written report
Include in your submission a written report which includes: CourseNana.COM

  • A personal reflection using Gibb’s Reflective Cycle describing your approach to the assignment, any difficulties encountered, and what you learned in completing the task (approx. 300-400 words, about 1 page). Note that any plagiarism in this reflection is absolutely unacceptable, and will be reported if discovered. CourseNana.COM

  • A statement of completion indicating which parts of the assignment you did or did not attempt. CourseNana.COM

  • A statement of assistance showing what sort of help you obtained from external resources or peer groups. CourseNana.COM

  • Any instructions necessary to run your application (if not obvious) CourseNana.COM

  • Anything cool or extra you’ve done. CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
Federation University代写,ITECH3108代写,Dynamic Web Development代写,Front-end Development代写,Forum Application代写,Javascript代写,DOM代写,RESTful代写,Federation University代编,ITECH3108代编,Dynamic Web Development代编,Front-end Development代编,Forum Application代编,Javascript代编,DOM代编,RESTful代编,Federation University代考,ITECH3108代考,Dynamic Web Development代考,Front-end Development代考,Forum Application代考,Javascript代考,DOM代考,RESTful代考,Federation Universityhelp,ITECH3108help,Dynamic Web Developmenthelp,Front-end Developmenthelp,Forum Applicationhelp,Javascripthelp,DOMhelp,RESTfulhelp,Federation University作业代写,ITECH3108作业代写,Dynamic Web Development作业代写,Front-end Development作业代写,Forum Application作业代写,Javascript作业代写,DOM作业代写,RESTful作业代写,Federation University编程代写,ITECH3108编程代写,Dynamic Web Development编程代写,Front-end Development编程代写,Forum Application编程代写,Javascript编程代写,DOM编程代写,RESTful编程代写,Federation Universityprogramming help,ITECH3108programming help,Dynamic Web Developmentprogramming help,Front-end Developmentprogramming help,Forum Applicationprogramming help,Javascriptprogramming help,DOMprogramming help,RESTfulprogramming help,Federation Universityassignment help,ITECH3108assignment help,Dynamic Web Developmentassignment help,Front-end Developmentassignment help,Forum Applicationassignment help,Javascriptassignment help,DOMassignment help,RESTfulassignment help,Federation Universitysolution,ITECH3108solution,Dynamic Web Developmentsolution,Front-end Developmentsolution,Forum Applicationsolution,Javascriptsolution,DOMsolution,RESTfulsolution,