braindriller's People
Forkers
machidabraindriller's Issues
CSSにlintを導入する
seedが正しく実行されない
順番を入れ替えたせいか、CPA問題が登録されない。
全問回答し終えたときに、採点ボタンを強調する
全て回答して正解したはずなのに、回答してないという表示になることがある
ユーザーの紹介文のカラムを追加
ユーザー編集ページを作る
問題を作成できるようにする
選択肢・わからないボタンの位置を調整する
問題を保存できるようにする
アイコン登録できるようにする
クイズ用マークダウンのパーサー作成
Markdown
YAML front matter
メタデータブロック
# タイトル
問題文
## 選択肢
- 1
- 2
- 3
- 4
## 答え
1
## 解説
解説文
# タイトル
問題文
## Choices
### 1
### 2
### 3
### 4
## Answer
1
## Explanation
解説文
markdownの中でmarkdownを扱うのはきつそう。
# ドリルのタイトル
Guide
# タイトル
問題文
## Choices
### 1
### 2
### 3
### 4
## Answer
1
## Explanation
解説文
問題数をちゃんと指定できるようにする
問題を解けるようにする
ログイン方法にGoogle, Twitter, GitHubを加える
sanitize, sanitizer is deprecated
marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options
If true, sanitize the HTML passed into markdownString with the sanitizer function.
Warning: This feature is deprecated and it should NOT be used as it cannot be considered secure.
Instead use a sanitize library, like DOMPurify (recommended), sanitize-html or insane on the output HTML!
login_name should be uniq ID
フィードバック時に、不正解のみに絞るオプション
ログインページのデザイン
- ログインのフォームは、**寄せ
- ログインのフォームの幅は、狭くする
- 表題を表題らしくする
- 表題を大きくする。
- 表題を太くする。
- 文字間のスペースを広げる。
- 入力欄のデザインを変更する
- ログインのinput欄は、フォームの幅に合わせて広げる
- 入力欄の高さにゆとりをもたせる
- 必須の部分は、赤いアスタリスクをつける。右上に?
- ボタンも**に
- マウスカーソルで、クリックがわかりやすく。
- ボタンは、hover時に色を変更する。明るくするか暗くする。
- ボタンの文字を大きく、太くする。
- 文字間のスペースを広げる。
- パスワードリセットとは境界を設ける
回答のボタンの位置を調整する
ドリルの最初に自己の正答率や達成率をだす
計測する
DBに保存
view
シンタックスハイライトできるようにする
ドリルを編集できるようにする
回答データを受け取る
footerを作る
- スクロールさせなくていい場面でも、1番下にある
- 問題演習中は、表示させない。
デフォルトアイコンを設定する
テストデータ、サンプルデータを作る
管理者権限を追加する
解説が長いときに自動で改行されず右にはみ出る
問題文でも同様のことが起きるかもしれない
ドリル一覧のドリルのブロック全体をリンクにする
タイトルだけをspanでリンクではなく、ブロック全体をリンクにする
選んだ選択肢がわかるようにする
Tweet button on result page
ドリルの説明欄で改行などをできるようにする
問題(problem)は、JS側でシンタックスハイライト等をつけてるけど、どうだろう。
改行だけだったら、simple_format(h(text))
だけでいけるらしい。
DBを変更する
SQLiteからPostgreSQLに変更して、本番環境と動作を同じにさせる
利用規約を作る
プロフィール画面のデザインを編集する
- 更新ボタンを大きくする。
選択してる選択肢がわかるようにする(コード部分も)
問題を編集できるようにする
優先順位を決める
- [仕様] 問題を解く際のオプションを決める。
- 何問を解くか、ランダムにするか、未習得に絞るか。
- 連続正解数の順にする。正解割合の順にする。順番を決めることは簡単だと思う。順番と上限を決める。
- どういう感じの順番がいいのかってのは正直わからない。オプションがありすぎても困る。
- 実装者とユーザー視点の両方で考える。
- 1回で解きたい問題数があると思うので、問題数は指定したい。
- 解いてる順番が毎回同じだと、解く問題が偏るので、問題の順番をシャッフルできるようにしたい。
- そもそも、問題を順番に解きたい場合があるのか。
- 未習得に絞りたい。間違えない問題を何度もだされても困るので、絶対必要か。
- [仕様] 未習得が何かを決める。
- [機能] ドリルの問題が全て習得済みになったら、ドリルを習得済みにする。
- ドリル習得済みの場合は、問題を習得に絞るチェックマークを外す
- [機能] 問題を作成できるようにする。
- ドリルの問題数が0のときに、公開で作成できないようにする。
- 非ログイン者はドリルを作成できないことを確かめる。
- 非ログイン者がドリルを作成ページに来れないようにする。
- [機能] 問題を編集できるようにする。
- 作成機能がなければ、編集機能も不要?
- 編集機能がないと、使いにくい。作成機能も欲しい。
- 何ができているのか。
- ログインしてないときは、編集画面をださないようにする。
- お気に入りのドリルを登録する。(6/24)
- 登録できたら、閲覧ページもセット。(6/24)
- 閲覧ページには、習得率がある。
- お気に入りの解除は、ドリルページにあってもいい。これは優先順位が低いかもしれない。
- ドリルがたくさんあるとき、どうするか。それは後回しか。
- 習得率順で、ソートさせたい。これも後回しか。
- 未習得だけ、習得だけで、フィルターを絞りたい。
- 登録できたら、閲覧ページもセット。(6/24)
- ドリルの問題数や習得問題数を数えるときに、面倒なので、カラムを増やす。
- 問題数 drill#problem_size
- 習得数 number_of_problem_mastered
- UserとDrillの中間テーブルだが、テーブル名どうしよう。drill_likesテーブルはある。
- どのタイミングで更新されるか。
- ドリルの本棚を作る。これ、難易度が高くなりそうだから、避けたい。
- ドリルの詳細ページに、達成率( = 習得数 / 全問題数) を表示する。
- 解いた問題を管理する。
- [デザイン]ドリルの問題ページへのデザインをよくする。
- [デザイン] ドリルのshowページ
- 仕様が決まっていて欲しい。デザインは誰かに依頼する。
- [デザイン] プロフィールの編集ページのデザイン
- パスワードとメールアドレス、ユーザーIDは必須。
- ユーザーIDがないと将来的に困りそう。
- 別にアイコンやユーザーの交流は、優先順位が低いのではないか。
- ユーザーのプロフィールなどは、優先順位が低い。
- アカウント削除機能は欲しいけど、メール連絡で削除もありか。
問題文に改行をつける
問題を解いてるときに、戻るボタンで回答を失わないようにする
ビューのテーブルタグを解体して作り直す
プライバシーポリシーを作る
問題を解かずに読むだけのページ
未習得の問題に絞る
未習得 ≒ 連続正解数が2回未満、つまりcurrent_streak < 2
のものに絞る。
drill.id -> problems
current_user.id
user_problem_relation.current_streak < 2
user_problem_relation.user_id == current_user.id
user_problem_relation.problem_id == dirll.problems.id
(problems.id
は複数ある)
ビューでのドリルIDをとる
ビューでdrill IDを表示してたが、URLからわかることなので、取っ払う。デザインの邪魔になっていた。
問題を解いてるときは、ヘッダーを最小限に透明にして、固定させないようにする
選択肢にもマークダウンを用いれるようにする
ヘッダーを作る
回答時のページャー
回答済み・わからない・未回答がわかるような形がよい
問題を解き終えたときに、解き直す用のリンクをだす
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.