The Projects tab shows all available projects users can explore and later drill into for bounties.
Expected Data Types
type Project = {
id: string
name: string
logoUrl: string | null
description: string
tags: string[]
bountyCount: number
openBountyCount: number
createdAt: string
updatedAt: string
}
Project Card Requirements
Each project card should show:
- Project logo
- Project name
- Short description (line-clamped)
- Tags
- Number of open bounties
- Click → navigates to project detail page
Project Filters
UX Expectations
Acceptance Criteria
- Filters update results instantly
- Empty state is informative
- Mobile layout works
The Projects tab shows all available projects users can explore and later drill into for bounties.
Expected Data Types
Project Card Requirements
Each project card should show:
Project Filters
Search (name + description)
Tags
Has open bounties (boolean)
Sort:
UX Expectations
Acceptance Criteria