Itqan-community/cms-frontend

Fanar: Audio timestamp editor (Surah/Ayah/Word micro-timestamps)

開放

#215 建立於 2026年8月5日

 (0 則留言) (0 個反應) (0 位負責人)TypeScript (22 個分叉)auto 404
EnhancementFrontendHelp Wantedhigh-prioritymediumroadmap: 1448

倉庫指標

星標
 (6 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Objective: Micro-timestamp Editor · Quarter: Q2 1448 · Size: M · Priority: High Roadmap: Fanar 1448 Q1 & Q2 Roadmap

Context

Surah recitations require precise micro-timestamp alignment at Surah, Ayah, and Word levels for synchronization across Quranic apps.

Why

Enables content admins to visually edit and adjust audio timestamps, fix alignment drifts, and save updated timestamp markers back to the database.

Acceptance criteria

  • Interactive waveform view with draggable timestamp markers for Surah/Ayah/Word bounds.
  • Precision millisecond adjustment controls (+10ms, -10ms, +100ms, -100ms).
  • Save updated timestamp array payload via backend API (POST /api/v1/admin/audio/timestamps/).
  • Keyboard shortcuts for play/pause (Space) and marker seeking.

🛠️ Implementation & Technical Guidance

Target File Paths

  • cms-frontend/src/app/features/admin/audio/components/timestamp-editor/
    • timestamp-editor.component.ts
    • timestamp-editor.component.html

🤝 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.

貢獻者指南