How trminh-developer/chuachinhphuoc works
Chùa Diên Phước is a temple website and iOS companion app with public content, admin management, and notifications. Visitors browse events, galleries, audio/video, and temple history; administrators manage content and accounts through the dashboard, with API requests backed by PostgreSQL. The web app also supports PWA caching and push, while Capacitor provides the iOS wrapper and documented OTA/local-notification capabilities. Edges reflect sampled source and README statements; unsampled route wiring and OTA internals are represented only where documented.
Main entry points: api.ts HTTP API · main.js Public Features · admin.js Admin Dashboard · database.ts Data Access
Components 20
Public Web
- Temple Pages
public/index.html - Public Features
public/js/main.js - Temple History
public/js/historical.js - PWA Service Worker
public/sw.js
Admin Operations
- Admin Dashboard
public/js/admin.js - Admin Page
public/admin/admin.html - Supabase Storage
API and Data
- HTTP API
src/routes/api.ts - Express Server
src/server.ts - Admin Authentication
src/middleware/auth.ts - Data Access
src/database.ts - PostgreSQL
Mobile and Notifications
- iOS Wrapper
ios/App/App/AppDelegate.swift - Native Push Client
public/js/push-native.js - Web Push Client
public/js/firebase-messaging.js - Push Dispatch
src/fcm.ts - Firebase Messaging
- Capacitor Updater
Other components
- Visitor
- Administrator
Connections 21
- Visitor → Temple Pages: opens
- Temple Pages → Public Features: loads scripts
- Public Features → HTTP API: fetches content
- Temple Pages → Temple History: opens history
- Public Features → PWA Service Worker: registers worker
- Administrator → Admin Page: opens dashboard
- Admin Page → Admin Dashboard: loads scripts
- Admin Dashboard → HTTP API: manages content
- Admin Dashboard → Supabase Storage: uploads media
- Express Server → HTTP API: mounts routes
- Express Server → Data Access: initializes database
- HTTP API → Data Access: reads and writes
- Admin Authentication → Data Access: checks admin
- Data Access → PostgreSQL: queries
- HTTP API → Push Dispatch: dispatches alerts
- Push Dispatch → Firebase Messaging: sends notifications
- Web Push Client → HTTP API: registers token
- PWA Service Worker → Firebase Messaging: handles push
- iOS Wrapper → Native Push Client: hosts client
- Public Features → Capacitor Updater: downloads OTA
- Admin Dashboard → Capacitor Updater: manages OTA