Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Show solve rate and solve time on every problem

オープン
#20 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
javascript, next.js, node.js, sql

調査の方向性

Start by reading the battles_history schema and the practice-submission data path, then find the problem-page and stats-endpoint entry points and their route tests. The issue calls for a scheduled problem_stats refresh and, optionally, backend/arena/scripts/difficulty-report.js. Done means stats are hidden below 20 attempts, the page and endpoint tests verify the specified measures, and npm test plus node scripts/check-boundary.js pass.

索引モデルが issue の本文から書いたものです。

説明

enhancement help wanted

Problem pages show the statement and examples but nothing about how players actually do on them. Solve rates and solve times tell a player what they are walking into and tell maintainers which problems are mislabeled.

What to show on each problem page

  • Solve rate in battles and in practice, shown separately.
  • Median solve time, overall and per language.
  • Number of players who have attempted it.
  • A small histogram of solve times, with the player's own best time marked.

Backend

  • Compute stats from battles_history (which has problem_id, times, languages and winner_tests_passed/loser_tests_passed) and practice submissions.
  • Precompute into a problem_stats table refreshed on a schedule, not per request.
  • Hide stats until a problem has at least 20 attempts, so early numbers are not noise. Show "Not enough data yet" instead.

Bonus: difficulty sanity check

Add a script, backend/arena/scripts/difficulty-report.js, that lists problems whose real solve rate disagrees with their label (for example an "easy" with a lower solve rate than the median "medium"). Maintainers use it to relabel.

Definition of done

  • Route tests for the stats endpoint, including the minimum-attempts rule.
  • Numbers on the page match a hand-checked SQL query (include the query in the pull request).
  • npm test and node scripts/check-boundary.js pass.
主要言語
JavaScript
スター
0
フォーク
2
PR マージ指標
30日以内にマージされた PR はありません

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

sennaicodes/codearena のほかの issue

sennaicodes/codearena の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。