GuyMitchy / hackathon

https://guymitchy.github.io/hackathon
2 stars 0 forks source link

Quiz Forge

Overview

Purpose

Quiz forge is designed to be a revision tool in the form of an online quiz. The primary focus is programming questions. However other topics have been considered. Live Project available here.

Image of final MVP product


Image of final MVP product


Target Audience

There is no particular audience targeted for this application, however with Quiz forge being a quiz application with the focus on revision and learning, stating the target audience would be students or those looking learn.

User Stories

Must-Have User Stories

Should-Have User Stories

Could-Have User Stories

Design Decisions

Project Board

To manage the Project and keep track of the required tasks. Agile methodologies were adopted throughout the project by utilising User Stories, a KanBan board and holding stand up / Stand downs.

Image of the project KanBan Board


Image of the project KanBan Board Progress


Mood Board

The team decided to consolidate initial design ideas via a Mood Board was created as a method of brainstorming ideas amongst the team, whilst keeping a record of the thought process.

Image of the teams mood board


Wireframes

Within the initial planning stage of the project, wireframes were created to provide initial layouts and to ensure all members of the team were envisioning the same design and starting point for the web application.


Wireframe image for Desktop view


Wireframe image for Tablet view


Wireframe image for Mobile view


Wireframe image for Multiple answer Questions view


Wireframe image for True or False Questions view


Wireframe image for Type your answer questions view


Accessibility Considerations

Accessibility considerations have been considered throughout the projects creation. Such as colour schemes, colour contrasts, fonts and alt text attributes are set correctly.

Colour Scheme

A dark background with aqua colour scheme was chosen to keep with the retro 90's computer terminal theme.

Image of the colour scheme being used


Colour Contrast Checks

Colour contrast has been consider and the chosen colour scheme has been tested via an online Colour Contrast Checker.

Image of the colour scheme being used


Fonts

Google fonts were used within the project to enable additional customisation to the application as well adding to the general theme and feel of the application. Source Code Pro, Ubuntu Mono

Image of Ubuntu font used for the project


Image of Source Code font used for the project


Lighthouse Scores

Image of Source Code font used for the project


Features Implementation

Core Features (Must-Haves)

Image of Game Board


Image of Quiz Questions


Advanced Features (Should-Haves)

Image of Multiple Choice question


Image of True or False question


Image of Type your own answer question


Image of JSON format used for storing questions


Optional Features (Could-Haves)

Image of JSON Upload Modal


Game themes selection Image


Game themes selection Image


Game themes selection Image


Game themes selection Image


Game audio Image


Testing and Validation

Testing Results

Testing the application has been an ongoing process throughout the development of the website. With a focus on responsiveness across all standard screen sizes, various edits were made throughout the development process to ensure the application looks and performs well on mobile, tablet and desktop. The team agreed to deploy early to allow to additional live testing encase there were any inconsistencies between the development environment and the live application.

Known Bugs

Validation

Validators were used to help address any issues within the projects HTML, CSS and Javascript files. HTML Validator, CSS Validator, [JavaScript Linter]()

HTML Validator Checks


HTML Validator Checks


CSS Validator Checks


JavaScript Linter Checks


JavaScript Linter Checks


JavaScript Linter Checks


JavaScript Linter Checks


JavaScript Linter Checks


Deployment

Deployment Process

For this project, GitHub pages was the chosen deployment method. A simple and straight forward service provided by github which uses a repo branch as a source for the page to pull from.

Github Pages Deployments image


Development Team

Reflection on Development Process

Successes

One of the key successes was creating the retro 90's style computer terminal for the Quiz's game board. The entire team contributed to the structure, layout and theme to achieve this.

Challenges

After deciding on using a JSON format for the storage of quiz questions, Utilising this format as well as linking and looping through the questions in Javascript proved problematic with Javascript's Arrays.

Final Thoughts

Overall the Quiz Forge project went very well, there were ups and downs as to be expected, Javascript was both kind and hard to tame at the same time. Ensuring the application looks great and responded smoothly and correctly was an ongoing yet enjoyable battle.

The development worked very well together with little to no issues. Stand ups and Downs took place everyday where progress was summarised and a game plan for the next day was formed. Throughout various discussions the entire group was involved in communicating their view, problem, concern or solution.

Code Attribution

Shuffle function is from this Stackoverflow Javascript Shuffle

Future Improvements

With regards to future improvements, generally speaking additional functionality and customisation would be the main areas of focus. For example, extending the quiz's question bank, featuring different topics, additional more challenging questions in the form of puzzles. By utilising JSON as the question storage format, with additional development the user would be given the ability to configure the quiz system to their liking via uploading a custom JSON file to change the content of the quiz.