Git Product home page Git Product logo

quiz-nation-app's Introduction

theDream

quiz-nation-app's People

Contributors

arditti93 avatar dangbat avatar

Stargazers

 avatar

Watchers

 avatar

quiz-nation-app's Issues

Score and Time recording on Database

Need to address the fact users will be having more than one attempt at the quiz.

Do we save all their quizzes?
Their most recent?
Their most successful?
Will they overwrite on the database?

/home or / page

Global Nav Bar - logged in / not logged in

Display top ten users with their high scores and times

(possibly subject and difficulty at a later date)

/endQuiz page

Display finished message

Score? Time? Position in database?

Questions with correct answers?

/submitQuiz route

On finished quiz / submit button press

Stops timer

uses if/else statements to check the user has chosen the right answers
Then calculates score out of ten.

Users time and score sent to database

check data types for sending time into mongo database

/home or just / route

Create route

Pass in database information for top ten users to be displayed on the home page

Create Logo

Create a simple log to make the app look more professional

API Setup

Define HTTP adress for API
Define values needed
Setup string with variables
Hide code in dotenv file

/login page

Form with submit button

inputs and labels for
email
password

/profile route

Check user is logged in using
cookieparser & jsonwebtoken

Pass in the users data form the database
and then send user to their custom profile page

Create the base repo

Get the base app pushed to GitHub
Add Collaborators
Make sure everyone has a working clone

/playQuiz route

Receives the correct questions from the API based on user options

The rest should be taken care of using the /submit route .post triggered by the Submit Button

/register route

/register ( x2 routes - display route and submit route)

Submit form:
name | username | password - (using bcryptjs & dotenv)

passes information to the backend

Once Registered then redirect to login page

/register page

Form with submit button

inputs and labels for
name
email
password

Install App Dependencies

"dependencies": {
"concurrently": "^5.3.0",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"mongoose": "^5.10.7",
"nodemon": "^2.0.4"
}

These dependencies need to be added

/login route

/login ( x2 routes - display route and submit route)

Submit form with database query and middleware security check:

username | password (using cookie-parser, bcryptjs & dotenv)

Once logged in send user to profile page

Create favicon.ico icon

Replace the favicon icon with something more fitting.

A smaller version of the new app icon may work

/profile page

Global Nav Bar - Showing 'logged in' only

Personalised welcome message

Display users quiz results
possibly just the last?
possibly their best?
Possibly all their quizzes?
Need to play with code!

/playQuiz page

Display timer

Display questions based on chosen categories from API

Display answers and radio buttons

Finished Quiz Button

/selectQuiz page

Global Nav - Logged in only

Form with dropdown menus and submit button

Category/Subject - dropdown
Difficulty - dropdown

Start Quiz Button

Global Nav Bar

Display logo and menu
Display appropriate global pages...

Adjust options for logged in customers
Display - register and login - options to non logged in users
Display a profile option to logged in users

/selectQuiz route

Check user is logged in
cookieparser & jsonwebtoken

Use API data to offer the user quiz options

Amount of questions
Category
Difficulty

Users requests sent to /playQuiz

Database Setup

Create database on MongoDB

Create schema file:
id | userName | userEmail | userPassword | subject | difficultly | score | time

Set database url in dotenv
Test database and add test data

Timer for Gameplay

Code a timer that starts when a user starts the quiz and finishes on the click of a button.

It must display on the quiz page and send it's results to the back end.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.