CompSci 290.2
Spring 2018
Web Application Development

Quiz Application

This project is intended for you to show that you can build and deploy a basic Node.js application that uses Vue components. You may use Firebase if you want but it is not required.

Online quizzes are very popular both to "automate" education and to help people learn more about themselves. However, be careful about giving away historic details about yourself when taking online quizzes.

As usual, the HTML and CSS for this site can be fairly basic since the focus is on the site's functionality rather than its style and appeal. Thus the exact look of your website is up to you to design but, at the very least, functionally it should:

If you want an extra challenge, implement different types of question games, Twenty Questions or Choose Your Own Adventure, instead of a simple quiz (again based on the data in JSON data files that you will need to make up). This is slightly more challenging because the data is more complex and the end is not simply the number of questions. These applications should still allow visitors to return to the index "page" when the game ends. However, the previous button should always be active so the visitor can back and make a different choice.

Note, your code should contain Vue components, saved as '.vue' files (and SCSS styling if you want to) that cannot be displayed directly in the browser. Thus before submitting your project, you will need to run the following command to compile your code into standard JavaScript (and CSS) so that it can be displayed using GitHub Pages:

npm run build


The code you submit should be your own. You may look at general tutorials or examples, but even searching specifically for examples or tutorials like this assignment will be considered cheating. As usual, you must attribute the source of any of the code you copied rather than writing yourself, but you may not copy more than 5 lines of code from any specific tutorial or example (other than those given in class). Any copied code must be commented in your own words as to how it works and it must be tuned to the specifications of this assignment. We will be checking that your code is consistent in its style, organized, and cleanly written, rather than a mess of combined tutorials.



This project will be added to your assignments-portfolio-GIT_SCREEN_NAME repository so there is one single place we can go to find your work during the semester.

To submit this project

Your files must display the way you expect in the latest version of Chrome. You are expected to follow the standard coding conventions for HTML, CSS, and JavaScript (within reason). Your code must validate using the W3C HTML, CSS, JavaScript (within reason), and JSON validators online.

Only what is in your assignments-portfolio-GIT_SCREEN_NAME repository on GitHub at the deadline will be considered for your submission.