Commit Graph
14 Commits
Author SHA1 Message Date
ssbg04 7faade70a9 feat(reports,settings,docs): server-side PDF export, cutoff date picker, and UI refinements
- Reports: Migrate DepEd Transparency Board PDF export to backend Puppeteer service with enlarged layout and per-section downloads

- Settings: Replace dynamic grace period days input with cutoff date picker and calculated days preview; separate schedule date pickers

- Documents: Default requirements section to collapsed/closed state in upload OCR modal with pulsing border container

- Fix contrast on Auto-Graduation trigger button and ensure desktop responsiveness across report buttons
2026-09-26 18:32:44 +08:00
ssbg04 13abad6563 feat(security,audit): fix platform tracking for history and settings, collapse logged-in devices in security tab 2026-09-25 09:34:14 +08:00
ssbg04 1a20994749 feat: document versioning, templates, ZIP backup/restore, and Open/Edit workflow
Backend:
- schema.js: add document_templates, template_versions, document_versions tables;
  migrate documents with template_id/template_version_id columns;
  auto-seed Version 1 for all 190 existing documents
- templateController.js (NEW): full CRUD + file upload/download for templates
  and template versions
- templates.js route (NEW): /api/templates endpoints
- documentController.js: add getDocumentVersions, uploadDocumentVersion,
  downloadDocumentVersion; uploadDocument now seeds Version 1 on creation
- documents.js: wire GET /:id/versions, POST /:id/upload-version
- backupController.js: upgrade backup to ZIP archive (DB + student files +
  template files + SHA-256 manifest); restore handles ZIP and legacy .db;
  safety backup taken before every restore
- package.json: add archiver + unzipper dependencies

Frontend:
- template_model.dart (NEW): DocumentTemplateModel + TemplateVersionModel entities
- document_version_model.dart (NEW): DocumentVersionModel entity
- template_repository.dart (NEW): Dio-based template API client
- document_repository.dart: add getDocumentVersions, uploadDocumentVersion,
  downloadDocumentVersion methods
- document_preview_modal.dart: add Open / Open With (Windows rundll32
  OpenAs_RunDLL / Android chooser) / Edit (download-temp -> open -> upload
  prompt) / Upload New Version (FilePicker) / Version History actions
- document_version_history_sheet.dart (NEW): draggable bottom sheet listing
  all document versions with per-version Preview + Download
- file_folder_card.dart: add Open With, Edit, Upload New Version, Version
  History items to context menu
- documents_screen.dart: wire open_with, edit, upload_version, version_history,
  restore action cases; import version history sheet

Bugfix:
- student_profile_modal.dart: remove enrollment.status access that caused
  NoSuchMethodError (enrollments table has no status column)
2026-09-21 12:55:58 +08:00
ssbg04 6fa533d530 feat(ui): redesign student cards, responsive pagination, and fix doc status sheet button 2026-09-17 20:19:06 +08:00
ssbg04 ee47158e74 feat(auth): add self-service email OTP password reset with Nodemailer and Gmail SMTP 2026-08-30 00:29:36 +08:00
ssbg04 14951a31a7 feat(tunnel): replace localtunnel with Cloudflare Tunnel (zero sign-in, fast edge routing) 2026-08-18 17:18:17 +08:00
ssbg04 5f1a2789a4 feat(backend): add localtunnel dependency and start_tunnel script 2026-08-18 17:05:17 +08:00
ssbg04 cb484051e3 feat(backend): FCM push notifications via firebase-admin
- fcmService.js: Firebase Admin SDK wrapper with sendToUser/sendToAll
- notificationController: hook FCM fire-and-forget in createNotification
- registerFcmToken endpoint: POST /api/notifications/fcm-token
- schema.js: add fcm_tokens table
- routes/notifications.js: register /fcm-token route
2026-08-18 13:53:00 +08:00
ssbg04 214b25092c fix(backend): replace xlsx with exceljs and fix security audit vulnerabilities 2026-08-12 09:24:44 +08:00
ssbg04 63a41b5360 feat: add native Excel/CSV spreadsheet viewer and drag-and-drop OCR support 2026-07-26 17:10:29 +08:00
ssbg04 cae56e9b16 Use archiver with max DEFLATE compression (level 9) and direct streaming for backups 2026-07-26 15:34:53 +08:00
ssbg04 320fd87b08 Update backup info and dashboard layout 2026-07-16 03:55:03 +08:00
ssbg04 c99ad4bce1 major update:large codebase changed 2026-06-03 19:51:44 +08:00
ssbg04 654104cbed first commit 2026-05-17 00:12:57 +08:00