Add analytics page showing productivity trends 📊
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 85/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript, react
- Domain
- frontend
Research direction
Start with the new page at client/src/pages/Analytics.jsx and read the existing task and board components to confirm how useBoard exposes tasks and their date fields. Then inspect App.jsx for route conventions and add the requested protected /analytics route. Done when the page shows weekly completed-task counts and the route renders for an authenticated user.
Written by the indexing model from the issue text.
Description
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!! 🔥
- Dominant language
- JavaScript
- Stars
- 39
- Forks
- 105
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 41
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from anoopcodehack/DevBoard
-
good first issue
Difficulty 1/5 Under an hour Newbie friendliness 96/100
anoopcodehack/DevBoard#639 ·
Maintainers usually reply within 2 days
-
Improve tags input placeholder with examples 🏷️Possibly taken @SwatiManjari claimed this today. Opengood first issue
Difficulty 1/5 Under an hour Newbie friendliness 96/100
anoopcodehack/DevBoard#638 ·
Maintainers usually reply within 2 days
-
good first issue
Difficulty 1/5 Under an hour Newbie friendliness 96/100
anoopcodehack/DevBoard#637 ·
Maintainers usually reply within 2 days
-
Show current task name in browser tab during Pomodoro ⏱️Possibly taken @SwatiManjari claimed this today. Opengood first issue
Difficulty 1/5 Under an hour Newbie friendliness 95/100
anoopcodehack/DevBoard#636 ·
Maintainers usually reply within 2 days
-
Animate task count number when it changes 🔢Possibly taken @jiyac-code claimed this today. Opengood first issue
Difficulty 1/5 1-3 hours Newbie friendliness 95/100
anoopcodehack/DevBoard#635 · 2 comments · 1 assignee ·
Maintainers usually reply within 2 days
All issues in anoopcodehack/DevBoard
Similar issues
-
task
Difficulty 1/5 Under an hour Newbie friendliness 83/100
TAMULib/fw-registry#550 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 79/100
-
NWCWalletService.subscribe: response is never published if the handler finishes after unsubscribe (regression in 8.1.0)Possibly taken @ajaysehwal claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
-
Difficulty 1/5 Under an hour Newbie friendliness 88/100
bigskysoftware/htmx#4151 ·
Maintainers usually reply within 4 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100