Implement clusterization for select one from map question type
- Dominant language
- TypeScript
- Stars
- 38
- Forks
- 22
- PR merge metrics
- No merged PRs in 30d
Description
#### Description
Implement clusterization for rendering multiple features on the map to improve performance and user experience when displaying a large number of map points.
Make an user research to verify if this feature is needed in Web Forms
---
#### Checklist
- **Does it need UI/UX design?**
- [x] Yes. Describe the UI/UX requirements or attach a Figma link in the "Design" section.
- Cluster visualization (e.g., grouped markers with counts) and interaction (e.g., zoom to expand clusters) need to be designed.
- [ ] No
- **Does it need API design?**
- [ ] Yes. Specify the endpoints, methods, or data structures needed.
- [x] No
- **Does it need design around state flow?**
- [ ] Yes. Outline the state flow requirements.
- [x] No
- **Does it need a test plan?**
- [x] Yes. Add the test plan as a comment in this task or attach the document.
- [ ] No
---
#### User Stories
- **As a** map user,
**I want** map features to be clustered when zoomed out,
**so that** the map remains performant and visually clear with many data points.
- **As a** map user,
**I want** to click or zoom into a cluster,
**so that** I can view individual features within the cluster.
---
#### Design
- **Figma**: [Insert URL for cluster visualization and interaction design]
---
#### Related Issues
- https://github.com/getodk/web-forms/issues/305
Contributor guide
No contributing guide indexed for this repository
Research direction
Begin by reviewing related issue #305 and the Web Forms context. The issue requires user research, cluster visualization and interaction design, and a test plan before implementation; the Figma link and specific files or tests are not provided. Done should include validated requirements, agreed design, implementation, and test coverage.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100