diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..6bfbf04 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Ryan Zhang + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/docs/readme/landing.png b/docs/readme/landing.png new file mode 100644 index 0000000..31a6fcb Binary files /dev/null and b/docs/readme/landing.png differ diff --git a/readme.md b/readme.md index 063f3b6..ef9222e 100644 --- a/readme.md +++ b/readme.md @@ -1,12 +1,14 @@ # Quizzical +![MIT License](https://img.shields.io/github/license/Ryan778/Quizzical?style=flat-square) +![GitHub release (latest by date)](https://img.shields.io/github/v/release/Ryan778/Quizzical?style=flat-square) -**© 2021 Ryan Zhang** - Licensed under the [MIT License](license.md)* +**© 2021 Ryan Zhang** Quizzical is my submission to FBLA's 2021 Coding and Programming event. -This readme file provides technical documentation on how to build/run Quizzical from source code, as well as instructions on extending Quizzical's functionality. +![Quizzical Landing Page on Windows 11](docs/readme/landing.png) -*\*After July 3rd, 2021 (the conclusion of FBLA NLC 2021). Until then, all rights are reserved to preserve competitive integrity.* +This readme file provides technical documentation on how to build/run Quizzical from source code, as well as instructions on extending Quizzical's functionality. For help on the application itself, use the in-app [Quizzical Help Pages](#quizzical-help-pages) instead. ## Technical Background Quizzical is built using the open source [Electron](https://www.electronjs.org/) framework, allowing it to run on all major desktop operating systems (Windows, Linux, and MacOS) with equivalent functionality. [Electron Forge](https://www.electronforge.io/) is used to handle development and builds. @@ -29,6 +31,8 @@ You can build Quizzical using `npm run make`. ### Quizzical Help Pages End user help is available in the interactive help menu, accessible using the "Help" button in the toolbar. Questions are categorized by topic, and users can click on common questions to recieve more information in a separate page. +By placing the help option in the toolbar, users can access the help menu no matter where they are in the application. + ## Advanced Features ### Modifying Questions Questions are stored in a plain text file located under `src/questions.txt`, which is loaded into the application's memory upon startup. This makes it extremely easy to add, edit, or delete questions from the application. You can even make it about something completely unrelated to FBLA! @@ -65,4 +69,17 @@ All significant portions of code are well documented to make extending Quizzical - The Vue template is in `src/index.html`. On its own the index.html file is merely the "backbone" of the application, as it is the scripts that make it functional. Nonetheless, comments are included with a brief description of each page and what said page does. - CSS is stored in `src/index.css` and is responsible for the aesthetics. - Third party libraries are stored under the `src/lib` directory. -- The interactive help menu is its own separate "app", located under the `src/help` directory. It is designed to run standalone - separate from the rest of the application. \ No newline at end of file +- The interactive help menu is its own separate "app", located under the `src/help` directory. It is designed to run standalone - separate from the rest of the application. + +## Post NLC Addendum +Quizzical placed **1st** at Colorado's State Leadership Conference (SLC) and **7th** at FBLA's National Leadership Conference (NLC). For reference, the 2021 NLC Topic has been included below. + +> **Develop an original computer program to randomly generate a five-question FBLA quiz from a database. The program must complete a minimum of the following tasks:** +> +> - Have at least 50 questions in the database with the ability to see correct answers +> - Include at least 4 types of questions (i.e. multiple choice, T/F, fill-in-the-blank, matching, and dropdown, etc.). +> - Inform the user which questions were correctly answered +> - Calculate the total correct on the five-question quiz +> - Generate a printable report on quiz results +> - Data must be stored persistently. Storage may be in a relational database, a document-oriented NoSQL database, flat text files, flat JSON, or XML files. +> - All data entry must be validated with appropriate user notifications and error messages including the use of required fields \ No newline at end of file