This repository contains the source code for the Coding Quiz Pro.
description
installation
usage
credits
contact
license
Coding Quiz Pro is an improved version of my first coding quiz project, found here:
https://rrich-kray.github.io/coding-quiz/
This is essentially a Coding quiz refactor using React, intended to further my competency with the framework. As such, it is entirely front-end based; all usernames and their associated scores are stored in local storage, similiar to its predecessor.
In its current build, the application:
- Presents users with a landing page consisting of "Start Game" and "View Scores" options.
- Allows users to take a timed quiz
- Allows users to view user scores
I find revisiting old projects a great way to test new skills while seeing first hand the progress I've made since my first attempt. Still, I think my current code structure leaves alot to be desired. For example, I think I could simplify things significantly by creating a single container component and passing in content as props. This would in all likelihood replace the Prompt, Question, PlayAgain and Infobar components altogether and eliminate a lot of repeated code. Given the simple nature of the data presented in all components of this app, I think that would be fairly straightforward to accomplish, but it will be a project for another day.
No installation required. Simply follow the link below to access the application.
https://rrich-kray.github.io/coding-quiz-pro/
As previously stated, Coding Quiz Pro was built entirely using the React framework. Components are conditionally rendered based on a global state that is changed whenever the user navigates to a different section of the application. This is accomplished using function closures in child components. States are also used to maintain user scores, deplete remaining time and display questions.
Copyright (c) 2022, Ryan Kray All rights reserved.
This source code is licensed under the BSD-style license found in the LICENSE file in the root directory of this source tree and reproduced below.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
- All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by Ryan Kray.
- Neither the name of this application's developer nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.