Closed Bran18 closed 4 weeks ago
Hey guys! I am a front-end dev with couple years of experience. I was working for web3 as well as SaaS web2 companies and I would be happy to get this one done for you.
PS: I have very good experience with recharts so this would be fun, but I am pretty sure that this would take more then 12h as this is pretty detailed task. Still more then happy to do it, let me know and I'll start working on it asap.
Thanks and have a good one!
I am on the road now. I'll start tomorrow
Iβm sorry, but I wonβt be able to deliver. I have too much on my plate right now. Please reassign this to another developer. Once again, I apologize. Thank you, and good luck!
Hi @Bran18! I'm a returning contributor and I'm interested in working on this issue.
I really like the challenge and I'm confident I can implement the required analytics components using Recharts and the existing architecture. Excited to contribute again! π
@Bran18 Hello! Just letting you know I opened the PR for the Analytics Dashboard implementation β #9. Feel free to take a look whenever you have time. Thanks!
π Issue Title: Create Harmonia DAO Analytics Dashboard Components
Difficulty: Medium to Hard
Estimated Time: 8β12 hours
Goal
Create the following UI components for the Harmonia DAO Analytics Dashboard:
Context
The Harmonia DAO Analytics Dashboard will give an overview of the DAOβs performance across key areas, such as treasury growth, voting engagement, membership activity, and proposal trends. The goal is to create a clear and interactive dashboard that provides meaningful insights.
Components to Build
1. π Treasury Chart
Create a responsive line chart that shows the growth of the DAO's treasury over time.
β Display XLM balance over the last 6 months β Line should have a subtle gradient and smooth transitions β Y-axis should adjust dynamically based on the data range
π Props:
data
: Array of{ date: string, balance: number }
title
: stringxLabel
: stringyLabel
: stringπ‘ Styling:
recharts
for chartingπ₯οΈ Example:
Use
@/components/analytics/treasury-chart.tsx
2. π³οΈ Voting Distribution
Create a pie chart displaying the latest voting distribution.
β Show the percentage of votes "For," "Against," and "Abstain" β Include dynamic legend β Use distinct color codes for each category
π Props:
data
: Array of{ label: string, value: number }
title
: stringlegend
: booleanπ‘ Styling:
recharts
for chartingπ₯οΈ Example:
Use
@/components/analytics/voting-distribution.tsx
3. π₯ Member Activity
Create a bar chart showing active members and new members over the last 7 days.
β Display active members and new members with different colors β Ensure Y-axis is responsive to data range β Add hover interactions to show the exact value
π Props:
data
: Array of{ day: string, activeMembers: number, newMembers: number }
title
: stringxLabel
: stringyLabel
: stringπ‘ Styling:
recharts
for chartingclsx
andcva
for consistent stylingπ₯οΈ Example:
Use
@/components/analytics/member-activity.tsx
4. π Proposal Categories
Create a pie chart showing the percentage of proposals by category.
β Display categories like Treasury, Governance, Community, and Technical β Ensure responsive design β Use consistent color coding
π Props:
data
: Array of{ category: string, percentage: number }
title
: stringlegend
: booleanπ‘ Styling:
recharts
for chartingπ₯οΈ Example:
Use
@/components/analytics/proposal-categories.tsx
Suggested File Structure
Technical Requirements
β Use TypeScript
β Use
recharts
for chartingβ Use Tailwind CSS + clsx + cva for styling
β Ensure responsive design (desktop and mobile)
β Follow existing component patterns and architecture
β Ensure dark/light mode compatibility
β Ensure accessibility (ARIA attributes)
Acceptance Criteria
Helpful References
recharts
for chartingclsx
andcva
for variants@shadcn/ui
for reusable componentsRewards & Recognition
β Contributor will be added to the Harmonia Contributors Page
β High-quality contributions may receive bounties
How to Claim
feature/analytics-dashboard
).π‘ Tip: Focus on reusable components and clean, modular code! π