Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Ability to self host recitations? #685

Open
rehandaphedar opened this issue Sep 7, 2024 · 0 comments
Open

Ability to self host recitations? #685

rehandaphedar opened this issue Sep 7, 2024 · 0 comments

Comments

@rehandaphedar
Copy link

rehandaphedar commented Sep 7, 2024

It would be great to be able to self host recitations. This would have the following benefits:

  • Load on the main CDN would be reduced.
  • It would be easier for people to add new recitations, as they don't have to bother the quran.com team everytime (Maybe also reduces work for the team?)
  • It can give rise to a "forge" ecosystem (Tilawah Hub?) where many different people can upload their recitations. It would also reduce the load on the main CDN.
  • The above forges could have many other types of integrations - for example, automatic timings generation using quran-align or something similar. Maybe something for Tarteel AI to look into?

In terms of how to proceed with doing this, here is what I've been able to come up with:

  • The Qurʾān API would need to be decoupled into two - data and audio. Audio is a separate section in the API documentation right now, however, for example, endpoints like /verses have an optional field of audio which would need to be changed (Or be made reciter agnostic) .
  • The audio API would need an introspection endpoint that returns the reciters available on that instance.
  • Frontends would need to have a field to pick an audio instance root URL (can have default presets).

This is of course a massive task, but I think it would be an extremely useful feature.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant