Daily content delivery
How per-day Islamic content is authored, reconciled to storage and rendered fast on the mobile client.
- 1A content manager loads or edits per-type items with images and per-voice audio through the dashboard and bucket-manager
- 2items management commands and ItemBucketManager reconcile the Spaces bucket against the database
- 3json_generator writes pre-rendered per-day JSON exports back to Spaces for CDN delivery
- 4The Flutter app requests the day's content, receiving CDN-served JSON plus media URLs for fast rendering on a slow connection
- 5A shared CustomAudioPlayerController synchronises recitation audio with the correct image using a programmatic-vs-user page-change guard



