Skip to content

tokita93/YVY

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YVY

LTのイベントのために開発された、世界一ゆるい投票システム「YVY」です。 node.js上で動作します。

投票者は4つのボタンを選んで何度でも投票可能です。イベントの盛り上がりに合わせて何度でも投票ください!

ボタンの内容はフルカスタマイズが可能です。 また、投票結果をリアルタイムで確認する画面を用意しています。

YVYは「yurui vote yarouze」の略称です。

yvy_small

Description

yvy 左が投票画面、右が投票結果確認画面です。 例えば「やばい!」「かっこいい!」みたいなボタンを主催者が設定し、投票者はそれをリアルタイムで投票します。 その結果をアニメーションを交えて投票結果確認画面で見ることができます。

双方の画面はシンプルなhtmlで用意されているため、大掛かりなシステム構築は不要です。 YVYを起動し、htmlにアクセスすれば投票システムがスタートできます。

投票画面

投票画面は以下のURLです(index.htmlとして用意されているため、URLだけでアクセス可能です)。 LT会場で各参加者のスマホやPCなどから開くことを想定しています。

<URL>

名前を入れれば投票をすることが可能です。 投票ボタンはクリック後、1秒待って再度クリック可能になります。

投票結果確認画面

投票結果確認画面は以下のURLです。

<URL>/monitor.html

投票結果を確認することができます。 LT会場でプロジェクタに移して投票結果をモニタリングすることを想定しています。

投票があれば、リアルタイムで文字が表示され、グラフが増加します。 コントロール画面で登壇者を変更すると、それに合わせてグラフも変更されます。

コントローラ画面

コントローラ画面は以下のURLです。

<URL>/controller.html

登壇者の変更や結果のダウンロードなどを行うことができます。 LTイベントで主催者が開いて制御することを想定しています。
  • 結果のダウンロードは、CSVかJSONで全データをダウンロード可能です。グラフ化の機能はありません。他のツールで行ってください。
  • 投票結果のリセットをクリックすると、全データがリセットされます。誤ってリセットしないようにご注意ください

Requirement

node.jsに依存しています。 その他の依存関係は特にありません。

node.jsが動作する環境で動作可能です。

Usage

以下のファイルが設定ファイルです。主催者は以下のファイルを編集して投票カテゴリ、登壇者の設定を行ってください。 内容についてはファイルを確認してください。

/config/default.json

以下のコマンドで起動が可能です。

node bin/www

主催者は、投票画面のhtmlを参加者に何かしらの手段で伝えて投票できるようにしてくださいLT

コントローラ画面(/controller.html)で登壇者を切り替えることが可能です。切り替えた場合、投票画面に通知されます。

投票結果もコントローラ画面から取得することができます。

(※) 数十人以上の規模での動作は確認されていません。動作確認の上、お使いください。

Install

  1. node.jsをインストールします
  2. 本プロジェクトを任意のディレクトリに展開します。
  3. 以下コマンドを実行します。
npm install
  1. 以下コマンドで起動し、 'http://localhost:3000' にアクセスして動作を確認してください。
node bin/www
  • ポートの変更は、環境変数 PORT を変更することで可能です。
set PORT=80

などを起動前に指定してください。

また、package.jsonに指定するなどの方法もあるため、詳しくは調べてみてください。

Issues

  • 投票結果をグラフ化する機能は未実装です
  • jQueryから他のフレームワークに移行予定です
  • 現状、毎秒のポーリングでサーバの状態を取得しています。Socket.ioなどのサーバプッシュが可能な仕様に修正を行うことを検討しています。
  • クライアント、サーバ共に共通化の余地が大きいため、リファクタリングの必要があります。

Licence

Gorge Public License

Author

tokita93

Releases

No releases published

Packages

No packages published