Admin Login
Use an authorized admin email. The admin page does not remember DEBUG_TOKEN. Session is stored only for this browser tab and expires automatically.
Vui lòng chọn phương thức đăng nhập / Choose a method
Emergency DEBUG_TOKEN access
Use only when OTP/email provider is unavailable. This token is not saved.
Operational status
Check status loads configuration, active sources, and recent log summaries. Deep check additionally runs live PostgreSQL and Google Sheet metadata checks, so it is slower but stronger for go-live verification.
🔒 User Permissions
Assign admin or report_viewer. If the email is not listed here, users in ADMIN_EMAILS still have default access.
Assign / Update Role
Danh sách phân quyền hiện tại
Access & Email Logs
Operational log summary for user page access, OTP email sending, OTP verification, and admin login. Logs are stored in the core Google Sheet tab configured by TAB_APP_LOG_GSHEET, default pdc_app_logs.
Top access pages, last 7 days
Recent log entries
Application Functions / Diễn giải chức năng
Home
- Landing page routes users to Trainee, Client, and Admin portals.
- Admin button is intentionally small on the top panel for internal use.
- Access logging records page visits to help monitor adoption after go-live.
Trainee Portal
- Email OTP or PIN login.
- Profile read/update from Google Sheet.
- Course catalog, section details, registration, active sections.
- Check-in data and submit check-in with backend time-window validation.
- Learning history and feedback form submission with time-window validation.
- Organization search reads PostgreSQL through Hyperdrive.
Client Portal
- Email OTP login via Brevo.
- Client inquiries read/update from Google Sheet.
- Client profile read/update from Google Sheet.
- Friendly profile-not-found message for emails without client profile.
Admin Portal
- Admin OTP login using emails in ADMIN_EMAILS.
- Status overview: Google Sheets, OTP, PostgreSQL/Hyperdrive, active sources.
- Deep checks for PostgreSQL and spreadsheet metadata.
- Emergency DEBUG_TOKEN access remains available but is not stored.
- Access & Email Logs tab summarizes user access, OTP sends, OTP verification, and admin login events.
Current architecture
Cloudflare Pages frontend + Cloudflare Pages Functions backend. Core tables use Google Sheets. Organization search uses PostgreSQL through Hyperdrive. Real OTP email uses Brevo.
Version changes / Change log
Admin Profile
Change PIN
Vui lòng nhập mã PIN mới gồm 4 chữ số.