Code Monkey home page Code Monkey logo

realtimequiz's Introduction

RealtimeQuiz

トップページの画像

RealtimeQuizはWebブラウザで動作するクイズ大会アプリケーションです。

Zoomなどの会議通話アプリと一緒に利用することで、数人から数十人のクイズ大会をオンライン上で開催することができます。

試してみる

使い方

部屋の作成と参加

主催者は部屋を作成してください。部屋名は任意です。

トップページの画像

参加者は作成した部屋に入室してください。

部屋一覧

入室後、ニックネームを入力して準備完了です。

ニックネーム入力画面

  • 観戦するをクリックすると、プレイヤーではなく観戦者として入室することができます。
  • 主催者は自分のURLを共有することで、他の人と集計を行うことができます。

問題の出題と解答

参加者がある程度集まったら、主催者は問題を出題してください。リアルタイムクイズでは途中参加も可能です。

出題画面

出題するをクリックすると、参加者の画面に解答画面が表示されます。

解答画面

参加者は主催者が解答を締め切る前に解答してください。

解答の集計と締め切り

参加者が解答するボタンを押すと、主催者の画面にリアルタイムで解答が表示されます。

この時点から解答にポイント(⭐️)をつけることが可能になります。

集計画面

解答が集まったら解答を締め切るをクリックしてください。その時点で参加者は回答することができなくなります。

解答を一斉にオープンを押すと、参加者側の画面で他の人の解答をみることができるようになります。

解答を一斉にオープン

主催者は集計が完了したら、結果発表ボタンを押して集計を確定してください。

結果発表

星が0以下だった人は青色、星が1以上だった人は赤色で表示されます。

結果発表が終わったら、次の問題へボタンを押して次の問題を出題してください。星の数は持ち越されます。

License

MIT

realtimequiz's People

Contributors

bambootuna avatar dev-platong avatar kqito avatar kznrluk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

ogaoga

realtimequiz's Issues

仕様書の命名考察

命名案

  1. WaitingQuestion: 出題待ち
    • SetQuestion
  2. WaitingAnswer: 回答待ち
    • CloseApplications
  3. CLOSED_ANSWER: 締め切り後
    • OpenAnswers
  4. AnswerPublished: 回答公開
    • AnnounceTheCorrectAnswer
  5. ResultAnnouncement: 結果発表
    • GoToNextQuestion

フロントの初期をVanilla JSのみで開発するにあたって確認したいこと

こうしたい

  • 動くのは正義だがstrict modeは欲しい
  • 基本的な考え方として,HTMLをベタがきしてJSでのDOM操作は値を流し込むだけ
  • 明らかにコンポーネント化した方が良いものが出てきたらHTMLで頑張らず、尚且つPureJSにこだわらない

例えば汎用的に使い回したいbuttonに

  // @param {String} mountTargetStr
  function generateGeneralButton(mountTargetStr){
    const mountTarget = document.getElementById(mountTarget);
    const buttonElement = document.createElement("button");
    buttonElement.addEventListener("click" ...

    mountTarget.appendChild(buttonElement);
  }

みたいなコードが必要になったら多分ReactかVue突っ込んだ方が早いと思う

  • いけるタイミングでTS化する

上記のすべての意見にこだわりないです

ソフトウェアは動くことが正義だと思うので,それ以外の全てを一緒に開発してくれている人たちに合わせたいと考えて生きてます.TSよりJSの方がスピード開発できる人も多いので,その全てを皆さんに合わせます:teishisei:

星の仕様がわからへん

こうしたい

  1. 待機ルームでは,星の数と前回の星との増減値を表示する

スクリーンショット 2020-07-12 23 03 22

例: ⭐️8 (+1)

  1. 回答の評価中には星を表示しない

右上の星をなくす

理由: 忖度してると回答に星つけるのに時間かかりすぎる説

スクリーンショット 2020-07-12 23 11 26

名前変更の型ミス

  • 現状

スクリーンショット 2020-07-14 23 47 04

  • 仕様
{
    'type': 'ChangeName',
​
    'data': {
        'accountName': string
    }
}

やること

  • typeの先頭は大文字
  • data型を直す

Contextを分割したい

現状、絶対不必要なレンダー走ってるので分けたい感。memoしてもいいかも

srcディレクトリ配下をきれいに

~/R/R/front ❯❯❯ tree src -L 1                                                                                                                                                                  master ⬇ ✭ ✚
src
├── components
├── configurations
├── connections
├── constants
├── container
├── controllers
├── interfaces
├── libraries
├── pages
├── store
├── stories
├── style
├── templates
└── utils

@kznrluk が作成してくれたws周りはwsディレクトリにまとめたいかも?

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.