Code Monkey home page Code Monkey logo

quizzical's Issues

Lobby: start button

  • get from redux user type (user < = userReducer)
  • if host show the button
  • if player display waiting for host to start the game

Socket lobby

  • find the game by name
  • return all the players for the game
  • return categories
  • return the config

Redux

  • hardcoded fetch request to display questions and answers
  • onclick of answer move to next question
  • shuffle answer buttons so correct answer isn't always in the same place
  • go to final page once get to the end of array of questions
  • logic to check if answer selected is correct and if it is add to score
  • score state?
  • Make homepage link to quizpage when you click play

Client side: Socket

  • connect to the socket
  • create the room
  • join room
  • broadcast joined the room
  • check if there is space in the room
  • if no space block the join button

Welcome page

  • username input
  • join the quiz
  • join the quiz disabled when no available players
  • create new quiz
  • alert for empty input
  • validate the input

Error message on welcome page

In welcome page file, use the error/setError state

  • add conditional error rendering on the page: when error is not empty display it for the user under the input boxes or buttons
  • change the handleCreate alert box to setError with alert message. (apprx line 62 and 64)
  • change handleJoin alert (apprx line88) to set error too
  • check that line 78 error setError(res.message); is also rendered when existing room name is created

Configure the room

  • confirm user is the host
  • get all the cofig in the object
  • pass it to the serve
  • socket server to handle and save the config according to the room name
  • return the room config to everyone in the lobby on button click
  • fetch in the home page to populate redux questions
  • action to add the config to the redux as an action see #81

React Home Page

  • create username input
  • difficulty drop down
  • fetchApi with difficulty setting
  • dropdown menus for quiz options
  • dropdown for topics
  • fetchApi with topic params

Add Room Config in redux

  • action to take in difficulty, questionCount, subject
  • reducer with the action type to handle the data
  • add to reducers folded index the reducer name
  • add new reducer in the store

Create README

  • wins and challenges
  • description
  • technologies used
  • Netlify badge
  • mit badge
  • image and/or gif

LeaderBoard

  • GET leaderboard on load leaderboard page
  • OR append data from state and POST to api

Socket: create room

  • pass username to redux
  • pass room to redux
  • pass user type to redux
  • create action for room creation
  • server create room
    • check if room name exists
    • return error on wrong room name
  • clien socket get the result from the server

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.