How amarnasir632-bit/dsacms-frontend works
DSACMS is an Arabic public library and content-management site for audio lectures, articles, and PDF books. Visitors browse or search the library, open material details, read or play content, and download or share it. Administrators manage materials, categories, and lecture schedules; the Sheikh role also manages questions and answers. Cloudflare Worker endpoints provide the API and use D1 for persistent data. The frontend module relationships are only partly evidenced in the supplied excerpts, so edges are limited to documented interactions and visible Worker behavior.
Main entry points: api.js API client · _worker.js Worker API · detail.js Detail rendering · dashboard.html Admin dashboard
Components 21
Public library
- Home
index.html - Search and browse
pages/search.html - Material detail
pages/content-detail.html - Lecture schedule
pages/lectures.html - Questions and answers
pages/questions.html - Sheikh profile
pages/about.html
Browser interface
- Home rendering
assets/js/pages/home.js - Search rendering
assets/js/pages/search.js - Detail rendering
assets/js/pages/detail.js - Schedule rendering
assets/js/pages/lectures.js - API client
assets/js/core/api.js - Admin dashboard
pages/dashboard.html - Login page
pages/login.html
API and management
- Worker API
_worker.js - D1 database
Content services
- Download proxy
api/download.mjs - Media links and storage
Site discovery
- Dynamic sitemap
functions/api/sitemap.js
Other components
- Visitor
- Administrator
- Sheikh
Connections 23
- Visitor → Home: opens
README.md - Visitor → Search and browse: searches
README.md - Visitor → Material detail: views
README.md - Visitor → Lecture schedule: views
README.md - Visitor → Questions and answers: submits questions
README.md - Visitor → Sheikh profile: reads profile
README.md - Administrator → Admin dashboard: manages content
README.md - Sheikh → Admin dashboard: manages questions
README.md - Home → Home rendering: renders via
- Search and browse → Search rendering: renders via
- Material detail → Detail rendering: renders via
- Lecture schedule → Schedule rendering: renders via
- Home rendering → API client: loads materials
- Search rendering → API client: requests results
- Detail rendering → API client: loads material
- Schedule rendering → API client: loads schedule
- Admin dashboard → API client: manages records
- Login page → API client: authenticates
- API client → Worker API: calls API
- Worker API → D1 database: reads and writes
_worker.js - Worker API → Media links and storage: serves media
_worker.js - Detail rendering → Download proxy: downloads files
README.md - Dynamic sitemap → Worker API: fetches materials
functions/api/sitemap.js