Harmonia-Development / harmonia-dapp

0 stars 24 forks source link

Create Harmonia DAO Analytics Dashboard Components - Analytics Dashboard #2

Closed Bran18 closed 4 weeks ago

Bran18 commented 2 months ago

πŸ† 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:

  1. Treasury Chart – Line chart showing treasury growth over time.
  2. Voting Distribution – Pie chart showing the distribution of votes on the latest proposal.
  3. Member Activity – Bar chart displaying active members and new members over the week.
  4. Proposal Categories – Pie chart showing the distribution of proposals by category.

Image Image Image Image


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:

πŸ’‘ Styling:

πŸ–₯️ 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:

πŸ’‘ Styling:

πŸ–₯️ 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:

πŸ’‘ 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:

πŸ’‘ Styling:

πŸ–₯️ Example:
Use @/components/analytics/proposal-categories.tsx


Suggested File Structure

components/
β”œβ”€β”€ analytics/
β”‚   β”œβ”€β”€ TreasuryChart.tsx
β”‚   β”œβ”€β”€ VotingDistribution.tsx
β”‚   β”œβ”€β”€ MemberActivity.tsx
β”‚   └── ProposalCategories.tsx
└── ui/
    β”œβ”€β”€ button.tsx
    └── card.tsx

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


Rewards & Recognition

βœ… Contributor will be added to the Harmonia Contributors Page
βœ… High-quality contributions may receive bounties


How to Claim

  1. Comment below if you’d like to claim this issue.
  2. Fork the repo and create a feature branch (feature/analytics-dashboard).
  3. Open a Pull Request referencing this issue.

πŸ’‘ Tip: Focus on reusable components and clean, modular code! 😎

ShamzX0 commented 1 month 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!

ShamzX0 commented 1 month ago

I am on the road now. I'll start tomorrow

ShamzX0 commented 1 month ago

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!

derianrddev commented 1 month ago

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! πŸš€

derianrddev commented 1 month ago

@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!