Quiz SPA Game made with Vue.js 3 framework and JSON data fetched externally.
- Vue 3 Composition API
- Vue Router
- Dart Sass
- JavaScript ES8+
- Vite
Browser | Version |
---|---|
Google Chrome | 112 |
Mozilla Firefox | 112 |
Safari | 16 |
- Rename
.env.sample
file into.env
; - Create your quiz data in JSON according to the given structure;
- Select the JSON storage. For this project I used npoint.io (sign up required);
- Replace
const URL
contents at.src/api/config.js
with your JSON storage path excludingBIN_ID
; - Copy/paste your JSON bin id to the
.env
file.
- Clone the repository
- Run
npm ci
to install dependencies - Run one of the following commands:
npm run dev
npm run build
npm run preview
Lint with ESLint
npm run lint
Format with Prettier
npm run format
- Irene for testing the project across numerous devices, creating quiz content, and suggesting new ideas such as score table with answer keys 💜
- Laith Academy for the detailed tutorial on how to create quiz app from this YT video;
- Kitty for the 7-1 sass files organizing pattern described in this article;
- Nicolas Gallagher for the normalize.css file that you can get from this source;
- easyScript for a hint on turning on the css sourcemaps in their stackoverflow reply*;
- tony19 for the example of Rollup config to change output file directories described in their post*;
- mahan for taking the above solution a little bit further and giving an example of distributing fonts in a separate output folder in this post*;
- Maciek Sitkowski for showing the proper way of deploying vite project to GitHub Pages in this YT video;
- fedorqui for the instruction on how to undo several pushed commits in this post*
- tao and Duannx for 'how to' strategies concerning fetching data inside Vue components in these two stackoverflow replies: one from tao* and the other one from Duannx*;
- Dmitri Pavlutin for a concise tutorial on how to desctructure props in Vue Composition API in this blog entry;
- Kevin Powell for the inspirational and highly informative pieces of advice on how to make the corners of the Internet just a little bit more awesome;
- jcomp for the image I used in this project's social preview;
- alvaro_cabrera for the following images: algorithms quiz cover image and data structures quiz cover image**;
- storyset for the image I used as a databases quiz cover image**;
- indiaBIX for the excerpts of the following content: The Relational Model and Normalization and SQL for Database Construction;
- GeeksforGeeks for the excerpts of the following content: Algorithms and Data Structures.
* - all stackoverflow content is licensed by https://creativecommons.org/licenses/by-sa/4.0/ ** - modified in accordance with Freepik license
If you get interested in this project, I'd be glad to see your contributions. Pull requests are welcome!