This repository comes with some nice extras like testing, documentation and CI, but in it's heart it's just an HTML/CSS/JS website boilerplate.
To run this project locally you will need to open index.html
in your browser using a local server. LiveServer, http-server
, study-lenses
, or any other local static server will work.
There are no dependencies needed to run the website, everything is prepared to work with vanilla JavaScript. However, if you want to install prettier for this project then run (generally you always want to do this if you see a package.json
file):
npm install
You will notice some starter code. This is a suggestion, but feel free to change what you want to, this is your project after all!
To document your project you will need to write a JSDoc comment for each function in the /handlers, /listeners and /logic. You will also want to add an entry to the JSDoc in /data.js for each property you store in the object.
The JSDoc comments you write in the /src folder will be used to re-write the DOCS.md file each time you run npm run document from the root of your project.
So what should be built? Below is a collection of user stories you can choose from. Stories inside of each priority level are not necessarily in order, it's up to your group to decide how they fit into your strategy. These are also just suggestion, feel free to change them or create your own! Feel free to get creative.
these are necessary for basic usability
- A user can see all questions
- acceptance criteria ...
- A user can select an answer for each question
- acceptance criteria ...
- A user can know which questions they got correct and incorrect
- acceptance criteria ...
- A user can see the correct answer for questions
- acceptance criteria ...
- A user can see their score at the end of the quiz
- acceptance criteria ...
these will complete the user experience, but are not necessary
- A user can see one question at a time, stepping through the quiz (may require refactoring)
- acceptance criteria ...
- A user can "cheat" to see the correct answer, this forfeits the question
- acceptance criteria ...
- A user has access to resources for further study on each question
- acceptance criteria ...
- A user can see their score update in real-time as they select answers
- acceptance criteria ...
would be really cool ... if there's time
- A user can modify a question in the quiz
- acceptance criteria ...
- A user can remove questions from the quiz
- acceptance criteria ...
- A user can add questions to the quiz
- acceptance criteria ...