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

Add analytics page showing productivity trends 📊

オープン 初心者向け
#627 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 2 日以内に返信

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

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
85/100
issue の種類
機能追加
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
javascript, react
領域
frontend

調査の方向性

新しいページ client/src/pages/Analytics.jsx から始め、既存のタスクおよびボードのコンポーネントを読んで、useBoard がタスクとその日付フィールドをどのように公開しているか確認してください。次に、App.jsx を調べてルートの規約を確認し、要求された保護対象の /analytics ルートを追加してください。ページに週ごとの完了タスク数が表示され、認証済みユーザーに対してルートがレンダリングされれば完了です。

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

説明

enhancement good first issue

Add analytics page showing productivity trends 📊

File: client/src/pages/Analytics.jsx (new file)

No way to see productivity over time 💀
How many tasks done per week? fr!!

Fix: create Analytics.jsx page:
const Analytics = () => {
const { tasks } = useBoard()

// group tasks completed by week:
const weeklyData = tasks
.filter(t => t.status === 'done')
.reduce((acc, task) => {
const week = new Date(task.updatedAt)
week.setDate(week.getDate() - week.getDay())
const key = week.toLocaleDateString()
acc[key] = (acc[key] || 0) + 1
return acc
}, {})

// avg completion time per priority:
const avgTime = ['high','medium','low'].map(p => ({
priority: p,
avg: tasks
.filter(t => t.priority === p
&& t.status === 'done')
.reduce((acc, t) => acc +
(new Date(t.updatedAt) - new Date(t.createdAt))
, 0) /
tasks.filter(t => t.priority === p
&& t.status === 'done').length
}))

return (



📊 Analytics


{/* render charts using CSS bars */}
{Object.entries(weeklyData).map(([week, count]) => (


{week}

<div className="h-4 bg-purple-500/30 rounded"
style={{ width: ${count * 20}px }}
/>

{count} tasks


))}

)
}

Add route in App.jsx:
<Route path="/analytics"
element={} />

~40 lines! No backend needed 🎯
No chart library needed — pure CSS bars!! 🔥

主要言語
JavaScript
スター
39
フォーク
105
平均マージ
1日 13時間
マージ済み PR(30日)
41

環境構築

はじめの一歩

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

anoopcodehack/DevBoard のほかの issue

anoopcodehack/DevBoard の issue をすべて見る

似ている issue

JavaScript の issue をもっと見る

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

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