Habilidad vs Agilidad en Quiz App
Habilidad vs Agilidad en Quiz App
The main steps involved in creating the customizable 'Quiz App' include understanding the overall appearance and behavior requirements, implementing the necessary HTML, CSS, and JavaScript, and ensuring responsiveness for mobile views . The development involves three main screens: the introduction, the attempt quiz, and the review quiz screen . HTML formatting, CSS styling including font, color, and layout for desktop and mobile, and JavaScript for functionality like event listeners, API calls, and handling user actions, are crucial to the app .
Considerations for preparing CSS include ensuring consistent typography using specified fonts and sizes, adjusting button styles and colors for distinct states (hover, active), and setting responsive layouts with media queries. For desktop, this involves fixed widths for layout blocks, whereas for mobile, it involves adaptive widths and hiding non-critical UI elements like decorative circles when the screen size is too small . Additionally, ensuring the alignment and spacing are adequate for touch interfaces is critical for a seamless mobile user experience .
The mobile layout should be handled by adjusting the CSS and HTML to ensure the page fits different screen sizes. This includes setting the viewport to a zoom level of 100%, and making the page content width adaptive based on device width, such as 95% width if the screen size is less than 700px . On smaller screens, unnecessary elements like the yellow circles should be hidden to save space and improve usability . Moreover, media queries should be used in CSS to ensure appropriate styling for different device sizes .
The quiz app ensures selected answers are accurate by locking them upon submission and using API communication to validate choices against correct answers . Feedback is given by comparing user-selected answers with correct ones and displaying the results and comments like scoreText, e.g., 'Perfect!!' or a score out of 10 . Additionally, the UI updates to highlight correct/incorrect selections based on background color changes, enhancing user understanding of their performance .
Handling user interactions requires the implementation of event listeners and the appropriate JavaScript code to manage the quiz lifecycle. When starting the quiz, an API is called to fetch questions and display them on the screen . During the attempt phase, users select and change their answers dynamically through event handling mechanisms . Finally, when reviewing the quiz, the application processes the submitted answers, compares them with the correct answers, and displays feedback, achieved by calling the submission API and updating the DOM based on the response .
Styling quiz elements with specific colors and hover effects is significant for improving usability and accessibility. Colors help to visually distinguish states (e.g., hover, active), guide user actions, and enhance the overall aesthetic appeal, making the interface both intuitive and engaging . Hover effects provide immediate visual feedback, which is essential for interactive elements like buttons, enhancing the user's experience by making the interface feel responsive and dynamic .
During the review process, the quiz app provides feedback by differentiating correct and incorrect answers via background color changes. Correct answers highlight in green, while incorrect ones show in red, providing visual confirmation of performance . Labels indicating 'Correct answer' or 'Your answer' are positioned to accompany the respective choices for precise feedback, enhancing the user's learning experience by clearly displaying which answers were right or wrong .
Disabling the ability to change answers after quiz completion ensures the integrity of the quiz results, preventing any alterations post-submission which could lead to inaccuracies or unfair advantages. It also solidifies the quiz state for review purposes, allowing users to look back on their submissions and learn from their mistakes without being able to retroactively alter their responses, which helps in maintaining a fair assessment standard .
JavaScript should manage user navigation by switching between the introduction, attempt, and review screens based on user actions . This involves showing the introduction screen initially, then displaying the questions screen upon start, and locking interactions after submission, leading to the review screen displaying the results and correct answers . Functions should handle clicks on 'Start', 'Submit', and 'Try Again' buttons, with appropriate API calls and UI updates to reflect the current state of the quiz accurately .
The assignment ensures plagiarism prevention by requiring individual completion and specifying a unique submission format that includes the student's identifier in the file name. Any detection of plagiarism results in a zero mark, clearly dissuading students from copying each other's work . This setup encourages originality and ensures the student's engagement with the material to maintain academic integrity .