1. Homepage
  2. Programming
  3. COMP2140 Web/Mobile Programming - React Web Assessment Item

COMP2140 Web/Mobile Programming - React Web Assessment Item

Engage in a Conversation
UQCOMP2140Web/Mobile ProgrammingReactCSSBootstrapJavascriptHTMLStoryPath

COMP2140 Web/Mobile Programming CourseNana.COM

React Web Assessment Item CourseNana.COM

The React Web Assessment Item has a 20% weighting. Important points to note: CourseNana.COM

  • You will also need to do a Code Review on your React Web Project worth an additional 10% weighting in your Week 9 Contact. CourseNana.COM

  • You can choose between doing the Standard project or you can choose to do a Custom project. To do a Custom project please email the Course Coordinator, Aneesha (a.bakharia1@uq.edu.au) with your project idea by Wed 4 Sept 2024. The Teaching Team has incorporated opportunities for students to pursue Custom projects, allowing those with existing skills or ideas to utilize this course as a platform for further development. It's an excellent way to elevate your current expertise or bring your innovative concepts to life, guiding you to the next level. Both the Standard and Custom projects need to implement 1 Advanced feature (as detailed in Table 2). CourseNana.COM

  • The React Web Assessment and the React Native Assessment Items are linked. This means that you develop a version for the web and a native version with complimentary functionality for mobile devices. For Custom projects you can’t build the same app for Web and Mobile display. If you do a Custom project you need to consider both the Web and Mobile aspects and detail these in your email. CourseNana.COM

  • The React Web project is intended to evaluate your proficiency in designing and developing client-side web applications in React. CourseNana.COM

  • Table 1 provides an overview of the Standard project and guidelines for getting approval for a Custom project. CourseNana.COM

  • Table 2 provides the detailed requirements/rubric for the Standard React Web Project. Please make sure you carefully read them and feel free to ask questions. CourseNana.COM

  • You must come up with your own UI design for your project. Screen grabs in the Getting Started Guide serve to explain how the app functionality works. You are allowed to use CSS Frameworks such as Bootstrap, Tailwind CSS, Daisy UI and component libraries such as Mantine and Shadcn UI. The Week 7 lecture and content will cover using a CSS Framework. CourseNana.COM

  • You can use open source React Components where detailed in Table 2. You can use other components as long as the components are not high level form building or API calling ones that won’t allow you to learn the fundamentals of React. You are encouraged to explore and incorporate other React components but will need to read the documentation yourself. CourseNana.COM

  • You are not building a full SaaS application – No login or Admin Panel is required. For the Standard Project, an API to store and retrieve your data is provided. See the Getting Started Guide slide deck for the API endpoint and example FetchAPI code. CourseNana.COM

  • You can use Typescript if you know how program with it. CourseNana.COM

  • What happens if you don’t complete the React Web Assessment Item? How will you be able to complete the React Native project? You will still CourseNana.COM

    have access to the API to add records that can be used in the React Native project. CourseNana.COM

Table 1: Available Project Options
Project Name & Description Main Features
CourseNana.COM

StoryPath CourseNana.COM

StoryPath is a location experience platform designed to allow users to create and explore virtual museum exhibits, location-based tours, and treasure hunts with clues. The platform features a Web app built in React that enables users to author these experiences (React Web Assessment Item), and a React Native Player for deploying them (React Native Assessment Item), making it easy to bring location-driven narratives to life. CourseNana.COM

Allows users to: CourseNana.COM

  • -  Create multiple projects and add locations to a project. CourseNana.COM

  • -  Author content and activities that can be triggered by location entry or by scanning a QR code. CourseNana.COM

  • -  Setup flexible scoring options to allow for a variety of location-based experiences (i.e. virtual museum exhibits, location-based tours, and treasure hunts with clues, etc) CourseNana.COM

  • -  Preview and test their location-based experiences from within a Web browser. CourseNana.COM

Custom Project Guidelines CourseNana.COM

  • You must submit your project idea proposal to the Course Coordinator via email by the Wed 4 Sept 2024. CourseNana.COM

  • A map must be included in the React Native Project which will complement the React Web Project. CourseNana.COM

  • You will need to provide your own API to store and retrieve your data. You can use external services or deploy an API to your own UQ Cloud Zone. If you are already familiar with React, you might like to explore Next.js and build your front-end and back-end with it. The Teaching Team have used PostgREST (https://docs.postgrest.org/en/v12/) for the API and are happy to provide instructions and share the setup used for the Standard project to quickly make an API. CourseNana.COM

  • Example Custom project ideas include Augmented Reality experiences, Renting out your Electric Vehicle Charging station, or Projects that user the camera or other sensors, etc CourseNana.COM

Code Submission: CourseNana.COM

You must submit a single zip file named 's1234567_Firstname_Lastname_ReactWeb.zip' (replace with your student number) that includes your source code folder(s) and a Readme.md detailing where you used GenAI (e.g. ChatGPT or Claude Sonnet 3.5). If you have developed a custom project, please ensure that API keys are provided, so that the marker is able to test your code. Provide 1 example location experience to showcase your app and the advanced feature you have included. CourseNana.COM

Additional Questions: CourseNana.COM

If you have any questions about this assessment brief, you’re welcome to post them on the course Ed Discussion and we’ll get back to you soon. CourseNana.COM

A Message About Plagiarism: CourseNana.COM

Plagiarism is considered a serious offence at UQ. Failure to declare the distinction between your work and the work of others will result in academic misconduct proceedings. CourseNana.COM

  • The use of Generative AI (i.e. ChatGPT, Claude Sonnet, Google Gemini, Microsoft Bing Chat and Github Copilot) is allowed for this assessment item to assist you in designing your web application and learning new concepts. However, treat what you’re producing here as a “trade secret” and don't share your code with other students. Also include details of where Generative AI has been used in a Readme.md file or withing your code comments. CourseNana.COM

  • If you’re inspired by design or code from online tutorials or any other external source, ensure you reference any inspirations for academic purposes (using APA/IEEE referencing styles) in an Readme.md file. CourseNana.COM

The Projects and Location API endpoints for the StoryPath Standard Project:
CourseNana.COM

A RESTful API is provided to provide Create, Read, Update and Delete access to the Project and Location API endpoints. The Getting Started Guide explains the concepts behind a RESTful API and also gives example FetchAPI code. You will need to use the JWT provided via a Blackboard GradeCentre column: “A2 React Web JWT”. CourseNana.COM

Project: https://0b5ff8b0.uqcloud.net/api/project CourseNana.COM

Field Name CourseNana.COM

id CourseNana.COM

title
description
is_published

Data Type CourseNana.COM

INTEGER CourseNana.COM

VARCHAR(255)
TEXT
BOOLEAN

Recommended Form Element CourseNana.COM

None (Auto-generated)
Text Input (
<input type="text">) CourseNana.COM

Textarea (<textarea>) Checkbox (<input type="checkbox">) CourseNana.COM

Description CourseNana.COM

A unique identifier for the project, automatically generated by the database.
The name of the project, required for submission.
A brief description of the project, not displayed to participants. Indicates whether the project is published. A checked box means the project is published.
CourseNana.COM

participant_scoring CourseNana.COM

VARCHAR(100)

Dropdown (<select>) CourseNana.COM

Select how participants will be scored. Options include: "Not Scored", "Number of Scanned QR Codes", "Number of Locations Entered". CourseNana.COM

username CourseNana.COM

VARCHAR(255)

None (Auto-populated) CourseNana.COM

The username of the project creator. All projects you add need your student username. You don’t need to show this on the form. It is used to provide row level security to only allow you to retrieve what you submit. CourseNana.COM

instructions

initial_clue homescreen_display CourseNana.COM

Textarea (<textarea>) Textarea (<textarea>) CourseNana.COM

Dropdown (<select>) CourseNana.COM

Instructions for participants, explaining how to engage with the project.
The first clue to start the project. This field is optional.
Choose what to display on the homescreen of the project. Options include: "Display initial clue", "Display all locations".
CourseNana.COM

Location: https://0b5ff8b0.uqcloud.net/api/location CourseNana.COM

Field Name CourseNana.COM

location_name

location_trigger location_position CourseNana.COM

score_points
clue

Data Type CourseNana.COM

VARCHAR(255)
VARCHAR(50)
VARCHAR(100)

INTEGER TEXT CourseNana.COM

Form Element CourseNana.COM

Text Input (<input type="text">) Dropdown (<select>) CourseNana.COM

Text Input (<input type="text">) Number Input (<input type="number">) Textarea (<textarea>) CourseNana.COM

Description CourseNana.COM

The name of the location, required for submission. CourseNana.COM

Select how this location content will be triggered. Options include: "Location Entry", "QR Code Scan", "Both Location Entry and QR Code Scan".
Enter the latitude and longitude for this location. This is the format: (27.4975,153.013276)
CourseNana.COM

Specify the number of points participants earn by reaching this location, required for submission. CourseNana.COM

Enter the clue that leads to the next location. Entry is optional. CourseNana.COM

location_content

Rich Text Editor (<ReactQuill>) CourseNana.COM

Provide additional content that will be displayed when participants reach this location. User’s can format text and add images. Images must be stored as base64 when the HTML is stored. You need to ensure the images are small in file size and in dimensions. You don’t need to provide an image editor, but when building sample content, you should use another editor to resize. CourseNana.COM

The Preview Functionality:
CourseNana.COM

The Preview feature allows users to test and simulate the experience of going to locations or scanning QR codes within the app. This helps users visualize how the app will behave in real-world scenarios, including the accumulation of points and tracking of locations visited. CourseNana.COM

The Preview uses the project.instructions, project.participant_scoring, project.initial_clue, project.homescreen_display, location.score_points and location.clue fields to work out what is displayed on the Homescreen and the Location pages. CourseNana.COM

  • -  The Preview is displayed within a container sized to resemble a mobile device, allowing users to test and simulate the experience of going to locations or scanning QR codes. It includes a dropdown menu that lets users easily switch between different locations, helping them visualize how the app will behave in real-world scenarios, including the accumulation of points and tracking of locations visited. CourseNana.COM

  • -  The Homescreen needs to display a header with the Project title, project.instructions, the project.initial_clue if project.homescreen_display is set to "Display initial clue" or display all locations if "Display all locations" is selected. CourseNana.COM

  • -  Changing the dropdown must load the content at the location. If a location.clue has been entered it should also be displayed. Use project.participant_scoring to work out how to score changing between Locations. CourseNana.COM

  • -  All Locations including the Homescreen must display a Score count (depending upon project.participant_scoring) and Locations visitied count. CourseNana.COM

  • -  Visits and scores should be tracked within React and will be lost when the user leaves the Preview. You don’t need to track the data yet – in your A3 React Native project you will work on tracking. CourseNana.COM

React Web Rubric
CourseNana.COM

Table 2 includes the grade breakdown for each required feature. Select 1 advanced feature worth 10 grade points. Note the assessment will be marked out of 100 but then scaled to be out of 20. “Custom” is used in the rubric to allow the rubric to also apply to custom projects. CourseNana.COM

Table 2: Project functionality and grade breakdown. ID Feature Description
1 Core Functionality
1.1 CourseNana.COM

1.2 1.3 1.4 CourseNana.COM

1.5 Allows for QR codes to be generated for all Locations. Any React QR Code library can be used such as react-qr-code. 1.6 CourseNana.COM

2. User Interface Design CourseNana.COM

Max Grade = 100 55 marks CourseNana.COM

Package.json includes all dependencies, React code runs without errors, follows required folder naming convention and includes an example Project to illustrate the chosen Advanced Feature. CourseNana.COM

Includes the ability to list Projects, add, edit and delete Projects | Custom. No paging is required. Add/Edit forms should include all mandatory fields and dropdowns provided by the Projects API endpoint. CourseNana.COM

Includes the ability to list Locations, add, edit and delete Locations | Custom. No paging or re-ordering is required. Add/Edit forms should include all mandatory fields and dropdowns provided by the Locations API endpoint. CourseNana.COM

Includes a WYSIWYG editor on the Locations form that support a variety of formatting options (Bold, Italic, changing fonts, colours and background colours), headings (e.g. H1), links, images (inserted via Base64), etc. You can use a React WYSIWYG editor that supports these features such as Quill or Lexical. Your chosen editor should save content to HTML – this will make it easier when you use this content in your React Native project. CourseNana.COM

Includes a Preview which allows users to test their location-based project and simulates the movement/scanning of QR code to view content at a location or scanned via QR code. The Preview should implement all scoring and display options. CourseNana.COM

Uses a CSS Frameworks and Custom CSS where appropriate. Includes a landing page with a header, footer, hero image and links to the Projects | Custom Section. No Login is required. CourseNana.COM

2.2 UI is intuitive with all implemented features easy to use and user instructions provided.
3 Code Style and Quality (Note: Max Grade will be capped at 12.5 grade points if only 50% of functionality is implemented) CourseNana.COM

  1. 3.1  JSX and Javascript/Typescript adheres to Functional paradigm (i.e. avoids embedded imperative logic). CourseNana.COM

  2. 3.2  Breaks down functionality into well-defined, manageable components. CourseNana.COM

  3. 3.3  Centralised Fetch API access, reducing duplicate code in each component that uses the API. CourseNana.COM

3.4 CourseNana.COM

3.5 Well formatted and documented code with inline comments and function doc strings included. CourseNana.COM

Implements appropriate error handling for each component, ensuring robust error detection and management while displaying clear, user-friendly error messages that enhances user experience and facilitates troubleshooting. CourseNana.COM

Advanced Features (Select 1 advanced feature to equal to 10 grade points. Multiple advanced feature items will not be graded.) CourseNana.COM

10 marks CourseNana.COM

Add a Location Picker to the Location form that allows the selection of Long and Lat coordinates from a map. You can use an open source React component e.g. React Leaflet https://react-leaflet.js.org/. CourseNana.COM

Add a map option for Homescreen display (i.e. add a map option in the project.homescreen dropdown). This will display the location markers on a map on the Homescreen in the Preview. You can use React Leaflet https://react-leaflet.js.org/ CourseNana.COM

Add a Multiple Choice Quiz Question that can be added as a question on the Locations screen. This question should be included in scoring with an additional scoring option for the project. You can store the question as json in the location.extra field. CourseNana.COM

Allow other media formats to be embedded in the WYSIWYG editor or via another form field that saves to location.extra. Ideas here could include 3D models or slideshows. As most WYSIWYG editors support embedding YouTube videos, this would not be considered an advanced feature. CourseNana.COM

Use GenAI to help build a location experience e.g. help the user brainstorm a whole location experience and generate clues or review the whole experience and provide feedback. Simple prompts to just add a single item of content would be considered to easy given the capabilities of GenAI models. API keys or ChatGPT 4o mini and Claude Haiku are available as long as you won’t publish your client-side code that includes the API keys (i.e. not secure as its client-side). CourseNana.COM

Get in Touch with Our Experts

WeChat (微信) WeChat (微信)
Whatsapp WhatsApp
UQ代写,COMP2140代写,Web/Mobile Programming代写,React代写,CSS代写,Bootstrap代写,Javascript代写,HTML代写,StoryPath代写,UQ代编,COMP2140代编,Web/Mobile Programming代编,React代编,CSS代编,Bootstrap代编,Javascript代编,HTML代编,StoryPath代编,UQ代考,COMP2140代考,Web/Mobile Programming代考,React代考,CSS代考,Bootstrap代考,Javascript代考,HTML代考,StoryPath代考,UQhelp,COMP2140help,Web/Mobile Programminghelp,Reacthelp,CSShelp,Bootstraphelp,Javascripthelp,HTMLhelp,StoryPathhelp,UQ作业代写,COMP2140作业代写,Web/Mobile Programming作业代写,React作业代写,CSS作业代写,Bootstrap作业代写,Javascript作业代写,HTML作业代写,StoryPath作业代写,UQ编程代写,COMP2140编程代写,Web/Mobile Programming编程代写,React编程代写,CSS编程代写,Bootstrap编程代写,Javascript编程代写,HTML编程代写,StoryPath编程代写,UQprogramming help,COMP2140programming help,Web/Mobile Programmingprogramming help,Reactprogramming help,CSSprogramming help,Bootstrapprogramming help,Javascriptprogramming help,HTMLprogramming help,StoryPathprogramming help,UQassignment help,COMP2140assignment help,Web/Mobile Programmingassignment help,Reactassignment help,CSSassignment help,Bootstrapassignment help,Javascriptassignment help,HTMLassignment help,StoryPathassignment help,UQsolution,COMP2140solution,Web/Mobile Programmingsolution,Reactsolution,CSSsolution,Bootstrapsolution,Javascriptsolution,HTMLsolution,StoryPathsolution,