How xygritte/miftahul-mubin works
Miftahul Mubin is a mosque information portal paired with an administrative console. The main public workflow is visitors opening a content route, live components loading and presenting repository data, and the Supabase-backed repository returning records for display. The admin workflow manages content and operational records through protected modules and Supabase. The README documents additional public domains and live refresh behavior; sampled source confirms repository and storage interactions, but not every route’s wiring.
Main entry points: client.ts Supabase Client · useLiveContent.ts Live Content · storage.ts Storage Operations · page.tsx Public Routes
Components 26
Public Portal
- Public Routes
app/page.tsx - News Views
app/berita/page.tsx - Islamic Views
app/keislaman/page.tsx - Event Views
app/kegiatan/page.tsx - Announcements
app/pengumuman/page.tsx - Management Views
app/kepengurusan/page.tsx - Finance Views
app/keuangan/page.tsx - Documentation
app/dokumentasi/page.tsx - Profile and Contact
app/profil/page.tsx - Global Navigation
components/layout/Header.tsx - Live Content
components/live/useLiveContent.ts
Admin Console
- Admin Login
app/admin/login/page.tsx - Protected Area
components/admin/AdminAuthGuard.tsx - Content Managers
components/admin/AdminContentManager.tsx - Management Editor
components/admin/AdminManagementManager.tsx - Documentation Editor
components/admin/AdminDocumentationManager.tsx - Finance Editor
components/admin/AdminFinanceManager.tsx - Storage Manager
components/admin/AdminStorageManager.tsx
Data Access
- Presentation Adapters
lib/data/presentation.ts - Repository Contract
lib/data/repository.ts - Public Repository
lib/data/supabasePublicRepository.ts
External Services
- Supabase Client
lib/supabase/client.ts - Storage Operations
lib/supabase/storage.ts - Supabase
Other components
- Visitor
- Administrator
Connections 31
- Visitor → Public Routes: opens
- Public Routes → Live Content: renders live modules
- News Views → Live Content: renders live modules
- Islamic Views → Live Content: renders live modules
- Event Views → Live Content: renders live modules
- Announcements → Live Content: renders live modules
- Management Views → Live Content: renders live modules
- Finance Views → Live Content: renders live modules
- Documentation → Live Content: renders live modules
- Profile and Contact → Live Content: renders live modules
- Public Routes → Global Navigation: uses navigation
- Live Content → Repository Contract: requests content
- Repository Contract → Public Repository: implemented by
- Public Repository → Supabase Client: queries records
- Public Repository → Presentation Adapters: adapts records
- Supabase Client → Supabase: reads data
- Administrator → Admin Login: signs in
- Admin Login → Supabase Client: authenticates
- Administrator → Protected Area: opens protected area
- Protected Area → Supabase Client: checks session
- Content Managers → Supabase Client: manages records
- Management Editor → Supabase Client: manages periods and members
- Documentation Editor → Supabase Client: manages albums and media
- Finance Editor → Supabase Client: manages finance records
- Storage Manager → Supabase Client: checks roles and files
- Storage Manager → Storage Operations: uploads and removes files
- Management Editor → Storage Operations: uploads member photos
- Documentation Editor → Storage Operations: uploads media
- Finance Editor → Storage Operations: uploads proof files
- Storage Operations → Supabase Client: operates on buckets
- Supabase Client → Supabase: sends requests