How awahids/bn-mobile works
This is a browser-based Islamic learning and practice app: users enter learning modules, study or practice, then review progress and personal activity. The graph highlights Quran memorization, Hijaiyah writing, Tajwid, Dhikr, and quizzes alongside profile, habits, and progress areas. Sampled controllers show several data and persistence interactions; API and storage details are only partially available, and the README is empty, so uncertain service wiring is omitted.
Main entry points: use-quran-page-controller.ts Quran study · use-audio.ts Audio playback · use-quran.ts Domain data hooks · use-hijaiyah-page-controller.ts Letter learning
Components 23
App experience
- Home
app/page.tsx - Home content
app/_components/home-page-content.tsx - Authentication
components/features/auth/auth-provider.tsx - Login
app/login/_components/login-page-content.tsx
Learning practice
- Quran study
app/quran/_hooks/use-quran-page-controller.ts - Quran interface
app/quran/_components/quran-page-content.tsx - Memorization progress
lib/hafalan-storage.ts - Letter learning
app/hijaiyah/_hooks/use-hijaiyah-page-controller.ts - Writing practice
components/features/hijaiyah/writing-canvas.tsx - Tajwid study
app/tajwid/_hooks/use-tajwid-page-controller.ts - Dhikr practice
app/dhikr/_hooks/use-dhikr-page-controller.ts - Quiz session
app/quiz/play/[categoryId]/_hooks/use-quiz-play-controller.ts - Audio playback
hooks/use-audio.ts
Personal tracking
- Progress view
app/progress/_hooks/use-progress-page-data.ts - Profile view
app/profile/_hooks/use-profile-page-data.ts - Habit tracking
hooks/use-habits.ts
Data and state
- API client
lib/api-client.ts - Domain data hooks
hooks/use-quran.ts - Storage operations
lib/storage.ts - Database
lib/prisma.ts - Auth token storage
lib/auth-storage.ts - Shared app state
store/app-store.ts
Other components
- Learner
Connections 21
- Learner → Home: opens
- Learner → Login: signs in
- Home → Home content: renders
- Quran interface → Quran study: uses controller
- Quran study → Domain data hooks: loads Quran data
- Quran study → API client: creates bookmarks
- Quran study → Memorization progress: reads and writes
- Quran study → Shared app state: updates selection
- Quran study → Audio playback: plays recitation
- Letter learning → Domain data hooks: loads letters
- Letter learning → Writing practice: provides canvas ref
- Letter learning → Audio playback: plays letter audio
- Tajwid study → Domain data hooks: loads rules
- Tajwid study → Audio playback: plays examples
- Dhikr practice → API client: updates counters
- Dhikr practice → Audio playback: plays audio
- Quiz session → Domain data hooks: loads questions
- Quiz session → API client: records attempt
- Storage operations → Database: queries and writes
- Login → Authentication: submits credentials
- Authentication → Auth token storage: stores token