arrow_backRetour aux issues
Itqan-community/cms-frontend
#214
Débutant
Ouvrirarrow_forward
Débutant
Ouvrirarrow_forward
Débutant
Ouvrirarrow_forward
Fanar: Surah → Ayah → Word hierarchy manager (drill-down/tree)
ecoDébutant
Help Wanted
Feature
Frontend
roadmap: 1448
high-priority
hard
descriptionDescription
> **Objective:** Mushaf Data Hierarchy Manager · **Quarter:** Q2 1448 · **Size:** L · **Priority:** High
> **Roadmap:** [Fanar 1448 Q1 & Q2 Roadmap](https://app.notion.com/p/3aa7056925c881a893d9fb3a3a43ad16)
## Context
Managing dataset entities requires a visual tree and drill-down interface to navigate from Surah down to Ayah, Word, and Letter levels.
## Why
Provides an intuitive hierarchical inspection surface for Quranic datasets, allowing maintainers to search and verify word-level segments and timing offsets.
## Acceptance criteria
- [ ] Tree/drill-down UI with search input and breadcrumb navigation path.
- [ ] Supports lazy loading for large datasets (114 Surahs, 6236 Ayahs, word tokens).
- [ ] Keyboard navigation support (`ArrowUp`, `ArrowDown`, `Enter`, `Escape`).
- [ ] Integrated with backend hierarchy endpoints (`/api/v1/hierarchy/`).
## 🛠️ Implementation & Technical Guidance
### Target File Paths
- `cms-frontend/src/app/features/admin/hierarchy/`
- `hierarchy-manager.component.ts`
- `hierarchy-tree-node.component.ts`
---
### 🤝 Before you pick this up
Fanar is an open-source, community-maintained project. For it to outlive any one of us, the people contributing need to genuinely understand how it works internally — that understanding is the thing we're actually building.
We all have AI subscriptions. Using AI to help you work is fine and expected. But if you copy this issue into an agent, paste back whatever it produces, and open a PR you haven't read, you're taking more from this project than you're giving it. Reviewing code that its own author never read or ran costs the maintainers more than writing it would have.
So before you open a PR, please make sure you:
- **understand** the code you're submitting, well enough to explain why it works
- **ran** it on your own machine and saw it behave correctly
- **tested** it — including the cases you expect to fail
If you're not planning to do that on this one, please leave it for someone who will. And if you're stuck partway, say so in the comments — a half-finished PR you understand is far more welcome than a complete one you don't.
Issues similaires
lingdojo/kana-dojo
star3.2k
Poids du dépôt lourd
[Good First Issue] 🐡 Add new Japan Fact 251 - Beginner-Friendly Open-source Contribution
## 🟢 Good First Issue: Add Japan Fact #251 — Beginner-Friendly Open Source Contribution ![Time: <1 minute](https://img…
TypeScript
enhancement
help wanted
WasiqB/multiple-cucumber-html-reporter
star281
Poids du dépôt moyen
Error bucketing
It would be great to bucket the errors in different types i.e. Code exception, configuration exception, environmental e…
TypeScript
enhancement
help wanted
StellarLock/StellarLock
star0
Poids du dépôt léger
LP lock links omit the /token|lp/ URL segment, causing wrong-type lookups on the detail page
## Summary Lock detail links should include the lock's kind in the URL, e.g. `/app/lock/lp/:id` or `/app/lock/token/:i…
TypeScript
bug
good first issue