Features
User-facing and admin features and their routes.
User features
Home
Landing + authenticated home
Videos & Articles
Educational content browse + save
Forum
Preference-filtered peer forum
Reminders
Medication, meal, therapy, consultation
Faskes Finder
Geolocation-based stroke facilities
Teleconsultation
Deep-links to telehealth apps
Profile & Notifications
Edit profile, push notifs
Home
/—HomeNotLoggedIn: latest 2 videos + 2 articles, 5-icon menu grid, emergency button (dialstel:112, Indonesia's national emergency number), FAQ, user guide./homelogin—HomeLoggedIn: same content + avatar, notifications bell, hamburger sidebar (language, profile, privacy, FAQ, logout), push registration on mount.
Videos & Articles
/videos,/video/:id— educational videos (YouTube embed) with comments./articles,/article/:id— articles rendered from react-quill content, with likes and comments.- Save-for-later supported on both (see backend
POST /api/articles/save,POST /api/youtube/save).
Faskes finder
/faskes (FaskesStroke.js) — uses the browser geolocation to find nearby stroke facilities (GET /api/faskes/nearby) and doctors (GET /api/dokter). Tabs for Faskes/Dokter, Google Maps links, call buttons, telemedicine links.
Teleconsultation
/telekonsultasi (Telekonsultasi.js) — redirects to telehealth apps: Halodoc, Alodokter, KlikDokter, Dkonsul. Uses deep links with app-store fallback.
Profile & notifications
/profile,/edit-profile— profile + image upload (POST /api/profilemultipart), preferences, roles./notif— push notification list, mark-as-read./reminders— reminder list with type filter and medicine grouping.
Admin panel
Navigation via AdminSidebar (8 menu items + help + logout):
| Area | Routes |
|---|---|
| Videos | /admin/video, /admin/video/upload, /admin/video/edit/:videoId |
| Articles | /admin/article, /admin/article/upload, /admin/article/edit/:id |
| Communities | /admin/community, /admin/community/add, /admin/community/update/:id |
| Facilities & Doctors | /admin/faskes, /admin/faskes/add, /admin/faskes/edit/:place_id, /admin/faskes/add-doctor, /admin/faskes/edit-doctor/:id |
| Admin users | /admin/adminlist, /admin/adminlist/add, /admin/adminlist/edit/:username |
| Users | /admin/userlist, /admin/users/:id/edit (roles, caregiver links) |
| Forum categories | /admin/category (CRUD) |
| Caregiver–patient | /admin/caregiver-patient (pairing management) |
Superadmin panel
/superadmin (superAdmin/SuperAdmin.js) — a raw SQL database browser: list tables, view data, execute arbitrary SQL, export to CSV. Login is a separate prompt()-based flow hitting /api/superadmin/login.
Powerful and dangerous
The superadmin panel executes arbitrary SQL. It is gated by a separate JWT (role: "superadmin") and shows a warning banner.