Add analytics page showing productivity trends 📊
メンテナーはふだん 2 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 85/100
- issue の種類
- 機能追加
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- javascript, react
- 領域
- frontend
調査の方向性
新しいページ client/src/pages/Analytics.jsx から始め、既存のタスクおよびボードのコンポーネントを読んで、useBoard がタスクとその日付フィールドをどのように公開しているか確認してください。次に、App.jsx を調べてルートの規約を確認し、要求された保護対象の /analytics ルートを追加してください。ページに週ごとの完了タスク数が表示され、認証済みユーザーに対してルートがレンダリングされれば完了です。
索引モデルが 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
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
anoopcodehack/DevBoard のほかの issue
-
good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 96/100
anoopcodehack/DevBoard#639 ·
メンテナーはふだん 2 日以内に返信
-
Improve tags input placeholder with examples 🏷️対応中かも @SwatiManjari が 1 日前に担当しました。 オープンgood first issue
難易度 1/5 1時間未満 初心者へのやさしさ 96/100
anoopcodehack/DevBoard#638 ·
メンテナーはふだん 2 日以内に返信
-
good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 96/100
anoopcodehack/DevBoard#637 ·
メンテナーはふだん 2 日以内に返信
-
Show current task name in browser tab during Pomodoro ⏱️対応中かも @SwatiManjari が 1 日前に担当しました。 オープンgood first issue
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
anoopcodehack/DevBoard#636 ·
メンテナーはふだん 2 日以内に返信
-
Animate task count number when it changes 🔢対応中かも @jiyac-code が 1 日前に担当しました。 オープンgood first issue
難易度 1/5 1〜3時間 初心者へのやさしさ 95/100
anoopcodehack/DevBoard#635 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 2 日以内に返信
anoopcodehack/DevBoard の issue をすべて見る
似ている issue
-
documentation
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
PhyberApex/slds-json-schema-renderer#372 ·
メンテナーはふだん 1 日以内に返信
-
usage: a custom provider's balance meters ("…%" in the balance path) ignore the Left/Used switchオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
[BUG] rag: sentence content can cross the reported sentence boundaries対応中かも @LJK-ikun が今日担当しました。 オープンbug
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
ericcornelissen/depreman#591 ·
メンテナーはふだん 1 日以内に返信
-
bug/1-unconfirmed kind/bug
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
メンテナーはふだん 1 日以内に返信