Git Product home page Git Product logo

braindriller's People

Contributors

machida avatar universato avatar

Watchers

 avatar

Forkers

machida

braindriller's Issues

クイズ用マークダウンのパーサー作成

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
解説文

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!

ログインページのデザイン

  • ログインのフォームは、**寄せ
  • ログインのフォームの幅は、狭くする
  • 表題を表題らしくする
    • 表題を大きくする。
    • 表題を太くする。
    • 文字間のスペースを広げる。
  • 入力欄のデザインを変更する
    • ログインのinput欄は、フォームの幅に合わせて広げる
    • 入力欄の高さにゆとりをもたせる
  • 必須の部分は、赤いアスタリスクをつける。右上に?
  • ボタンも**に
    • マウスカーソルで、クリックがわかりやすく。
    • ボタンは、hover時に色を変更する。明るくするか暗くする。
    • ボタンの文字を大きく、太くする。
    • 文字間のスペースを広げる。
  • パスワードリセットとは境界を設ける

footerを作る

  • スクロールさせなくていい場面でも、1番下にある
  • 問題演習中は、表示させない。

DBを変更する

SQLiteからPostgreSQLに変更して、本番環境と動作を同じにさせる

優先順位を決める

  • [仕様] 問題を解く際のオプションを決める。
    • 何問を解くか、ランダムにするか、未習得に絞るか。
    • 連続正解数の順にする。正解割合の順にする。順番を決めることは簡単だと思う。順番と上限を決める。
      • どういう感じの順番がいいのかってのは正直わからない。オプションがありすぎても困る。
      • 実装者とユーザー視点の両方で考える。
    • 1回で解きたい問題数があると思うので、問題数は指定したい。
    • 解いてる順番が毎回同じだと、解く問題が偏るので、問題の順番をシャッフルできるようにしたい。
      • そもそも、問題を順番に解きたい場合があるのか。
    • 未習得に絞りたい。間違えない問題を何度もだされても困るので、絶対必要か。
    • [仕様] 未習得が何かを決める。
  • [機能] ドリルの問題が全て習得済みになったら、ドリルを習得済みにする。
    • ドリル習得済みの場合は、問題を習得に絞るチェックマークを外す
  • [機能] 問題を作成できるようにする。
    • ドリルの問題数が0のときに、公開で作成できないようにする。
    • 非ログイン者はドリルを作成できないことを確かめる。
    • 非ログイン者がドリルを作成ページに来れないようにする。
  • [機能] 問題を編集できるようにする。
    • 作成機能がなければ、編集機能も不要?
    • 編集機能がないと、使いにくい。作成機能も欲しい。
    • 何ができているのか。
    • ログインしてないときは、編集画面をださないようにする。
  • お気に入りのドリルを登録する。(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 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.