**Description:** Return a paginated public list of active campaigns. **Tasks:** - [ ] Create `GET /api/projects` - [ ] No authentication required - [ ] Only return projects with `status: active` - [ ] Support query params: `page`, `limit`, `category`, `search` - [ ] Sort by `createdAt` desc by default **Acceptance Criteria:** Returns only active, public campaigns with pagination metadata. ---
Description:
Return a paginated public list of active campaigns.
Tasks:
GET /api/projectsstatus: activepage,limit,category,searchcreatedAtdesc by defaultAcceptance Criteria:
Returns only active, public campaigns with pagination metadata.