Omoi for series Documentation

Omoi for series Documentation / 技術仕様

REFERENCE / TECHNICAL

技術仕様

Omoi for seriesは、ビルド工程を持たない静的Webアプリです。

構成

フロントエンドHTML / CSS / JavaScript
質問データシリーズごとのJSON(Couples / Family / Friends)
バックエンドなし。静的ファイルをブラウザへ配信
ビルドツール不要
アカウント不要
セッション状態JavaScriptのメモリ上のみ。永続ストレージは使用しない

ファイルとURL

index.htmlOmoi for全体のハブ。3シリーズへのリンクと全体の使い方
couples/index.htmlOmoi for Couples単体の入口
family/index.htmlOmoi for Family単体の入口
friends/index.htmlOmoi for Friends単体の入口
shared/app.jsシリーズ共通のLevel選択・質問表示・セッション進行
shared/questions/*.jsonシリーズごとの質問データ

質問の選択ロジック

01

シリーズを判定する

ページのdata-audienceから、Couples・Family・FriendsのどのJSONを読むかを決めます。

02

JSONを読み込む

ブラウザがshared/questions/{audience}.jsonを読み込み、ID・質問文・Levelが正しいデータだけを利用します。

03

Levelで絞る

選択されたLevelと一致する質問のプールをつくります。

04

ランダムに選ぶ

プールをシャッフルし、3 / 5 / 10 / 15問のセッション数に合わせて質問を選びます。

05

メモリ上で進める

選択した質問と現在位置はJavaScriptのメモリ上で保持します。再読み込みやLevel変更でリセットされます。

質問データ

Couples701問(Loves由来698問 + editorial 3問)
Family200問(Level 1〜4を各50問)
Friends200問(Level 1〜4を各50問)
質問オブジェクトidleveltextcategoryなど
shared/questions/couples.json
shared/questions/family.json
shared/questions/friends.json

// 共通ロジック
fetch(`../shared/questions/${audience}.json`)

Couplesの由来、編集質問、コミット・Blob・SHA-256の情報は、Take-forリポジトリのtools/PROVENANCE.mdとREADMEで確認できます。

正本とライセンス

実装と質問データの最新状態は、公式サイトの説明文ではなく、Take-forリポジトリのmainブランチを正本とします。仕様やデータが変わった場合は、このページも更新します。