サーバーレスに基づくクイッククイズ
HTML、CSS、およびJavaScriptに基づいています。質問には20秒のウィンドウタイマーがあり、その後、次の質問は自動的にロードされます。
バックエンド全体は、サーバーレステクノロジーの上に構築されています:AWS Lambda。 3つのラムダ関数があります。
アプリケーションは2つのテーブルを使用します。
電話 | ユーザー名 | アンケート |
---|---|---|
999999999 | srushith | 5 |
8888888888 | ラミット | 8 |
7777777777 | アシュヴィーニ | 7 |
電話 | ユーザー名 | アンケート | 答え | タイムテイク(s) |
---|---|---|---|---|
999999999 | srushith | 5 | 4 | 15 |
8888888888 | ラミット | 8 | 2 | 8 |
7777777777 | アシュヴィーニ | 7 | 1 | 11 |
クイズはレジスタページ(index.html)から始まります。ここでプレイヤーは、名前や電話番号などの情報を入力できます。
図1:登録ページ
ユーザーが[登録]ボタンをクリックすると、登録_Check lambdaが呼ばれ、同じ電話番号の以前のエントリに対して登録_INFOテーブルをチェックします。見つかった場合、その電話機のアンケートの値を返し、ゼロ(0)を返す場合は返されます。ゼロ以外の値を受信すると、「値+1」の質問が表示され、前のセッションが再開されます。ゼロが受信された場合、クイズは最初から始まります。
図2:質問ページ
図2は、ユーザーが4つのオプションのうちを選択し、回答を送信するために送信をクリックすることができるサンプル質問ページを示しています。ユーザーが[送信]ボタンをクリックすると、update_db lambda関数は「電話番号」、「ユーザー名」、「質問」、「回答」、「時間」と呼ばれます。このラムダ関数は、答えと更新のためにバージングされます
ここで、ゲームの検証ステップが発生します。回答が正しい場合、データベース内のユーザーには、時間、質問番号、プレーヤーの名前とともにエントリが作成されます。
ユースケースでは、MySQLをRDS(リレーショナルデータベース)のデータベースとして採用しました。詳細についてはこちらをご覧ください。
注:セキュリティの問題がある場合は、RDSデータベースに割り当てられたセキュリティグループを確認してください。
次の手順で構成されています。
注: S3バケットのCORS構成を有効にすることを忘れないでください。指示については、この投稿を参照してください。
MITライセンス