getodk / getodk/web-forms

Implement clusterization for select one from map question type

Open
#514 3 comments 0 reactions 0 assignees View on GitHub
front-end
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.