Commit Graph
100 Commits
Author SHA1 Message Date
ssbg04 bcfa1a0919 perf(frontend): optimize build size and update students view tab design
- Purge heavy and unused packages (syncfusion_flutter_pdfviewer, excel, sheetifye, cupertino_icons, image_picker, lottie, flutter_holo_date_picker, flutter_speed_dial)
- Delegate PDF and spreadsheet preview to system default viewers via open_filex
- Replace excel report generation with pure Dart UTF-8 BOM CSV generator
- Configure NDK debug symbol stripping in build.gradle.kts
- Align Students screen Enrolled/All Students tab switcher with Archives segmented tab design
2026-10-01 22:01:07 +08:00
ssbg04 3e2a52770c fix(students): ensure accurate active-year student loading and navigate to all tab on search 2026-09-29 05:24:01 +08:00
ssbg04 4f20a67fda fix: resolve multi-account session conflict, remove developer account, add student view tabs 2026-09-29 05:19:45 +08:00
ssbg04 c085154b8a feat(demo): update Android mobile demo to match actual app screenshots with drawer navigation and full screens 2026-09-28 22:38:55 +08:00
ssbg04 e533b60769 feat(demo): build authentic web-based static app matching screenshots 2026-09-28 22:31:29 +08:00
ssbg04 fca3a1f9d7 feat(demo): update prototype to showcase authentic Windows and Android app screens 2026-09-28 22:23:12 +08:00
ssbg04 18abb9a6d8 feat(demo): add interactive static prototype with Windows and Android viewports 2026-09-28 22:19:35 +08:00
ssbg04 d75d441441 fix(students): hide bulk import button on windows app 2026-09-28 21:52:41 +08:00
ssbg04 6f95fd265b feat(update): detect Android architecture and launch architecture-matched APK download URL 2026-09-28 21:45:11 +08:00
ssbg04 09c0e600e9 feat(settings): add about section with browser update check and remove splash popup 2026-09-28 21:29:05 +08:00
ssbg04 c6d5607811 perf(android): enable R8 shrinking, ProGuard rules, and downscale image assets 2026-09-28 20:58:22 +08:00
ssbg04 8fcd875f38 feat(mobile): enable sliding drawer from hamburger icon and wide left-edge gesture 2026-09-28 20:48:07 +08:00
ssbg04 3a1f872f54 feat(capstone): redesign members screen with photo cards and updated institutional branding 2026-09-28 20:41:15 +08:00
ssbg04 30e260a357 refactor(login): remove localhost and vps server config options 2026-09-28 19:32:14 +08:00
ssbg04 58bf10b4ec fix(reports): make transparency board section titles responsive on android, refine bulk ocr, and update downloads directory 2026-09-27 20:13:45 +08:00
ssbg04 bd2a8acbfe feat(settings): clean academic setup buttons and rename screen to Academic & Class Management
- Update screen, settings card, and dashboard titles to 'Academic & Class Management'

- Clean and balance Academic Structure toolbar for mobile and desktop

- Remove redundant buttons on section cards in favor of interactive adviser chip

- Modernize teacher action button to OutlinedButton.icon 'Sections'

- Add responsive bulk academic structure import support across backend and frontend
2026-09-27 02:05:47 +08:00
ssbg04 a9c2ab0da5 fix(setup): make bulk academic import responsive and fix runtime string indexing error 2026-09-27 01:30:57 +08:00
ssbg04 13bbdf9e26 feat(bulk-import): add live CSV input, format guides, and validation preview for students and academic structure 2026-09-27 01:05:59 +08:00
ssbg04 32cff2431a feat(settings): add teacher due date reminders card and automated notification service 2026-09-27 00:43:22 +08:00
ssbg04 ae5246f271 feat(settings): match scroll fade overlays with dashboard screen 2026-09-26 23:55:04 +08:00
ssbg04 42d9a60805 fix font color auto grad 2026-09-26 18:47:17 +08:00
ssbg04 ecfb98ac86 commented tasks done 2026-09-26 18:46:42 +08:00
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 2376e99217 feat(auth,capstone): validate email on password reset, convert images to webp and add team carousel
- Add email deliverability verification (MEV) to forgot password flow (lookupResetOptions & sendEmailOtp)
- Validate recipient email format and verify deliverability before sending reset password link in user management
- Convert all backdrops, group photos, and solo avatars to WebP format, drastically reducing asset footprint from >60MB to ~4.6MB
- Add auto-advancing slide preview carousel with 2s cooldown, navigation buttons, and wrapping to Capstone Members screen
- Update Capstone member emails and add individual solo avatar photos
2026-09-25 21:18:02 +08:00
ssbg04 99be1e8d79 feat(build): split Android APKs, refine settings, fix student loading and PDF layout
- Split Android release into TIS_RMS_32bit, TIS_RMS_64, and TIS_RMS_Universal APKs in GitHub Actions and INSTALL.md
- Prioritize universal APK in AppUpdateService and update fallback labels
- Refactor settings academic collapse to 'Academic & Graduation' with automatic active school year card and relocated grace period
- Fix persistent loading indicators on student edit/add modals and list background
- Fix DepEd Transparency Board PDF report subheader layout to prevent title and period collision
- Update AGENTS.md backlog with document scanner and PDF processing items
2026-09-25 20:07:14 +08:00
ssbg04 71526fe61e fix(reports): resolve Windows layout overflows and refine UI
- Fix 1px bottom overflow on Overall Compliance KPI card by adjusting height and padding
- Fix text truncation for Pending Docs KPI card
- Fix 49px bottom overflow on Students Per Year card by adjusting container and chart heights
- Fix LayoutBuilder inside IntrinsicHeight issue on desktop report charts
- Refine security settings, audit trail platform tracking, and document handling
- Clean up unused conversion providers and LibreOffice service
2026-09-25 19:04:23 +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 689dbc48e7 fix: self-deactivation, UI overflow, Open With, archive nav, schedule modal
Settings - Delete Account -> Self Deactivate:
- backend: add POST /api/auth/self-deactivate (immediate, no email link)
  Guards against last-admin and hidden super-admin. Revokes FCM tokens,
  sends notification email, logs activity
- auth.js route: add /self-deactivate route
- auth_repository.dart: add requestSelfDeactivation()
- auth_provider.dart: add requestSelfDeactivation() (calls logout() after)
- settings_screen.dart: 2-step _handleDeactivateAccount: Step 1 confirm,
  Step 2 type DEACTIVATE. Danger zone card updated to deactivation theme

Report screen - compliance filter button label overflow:
- Wrap label Text in Flexible to ellipsize instead of clip

Settings - Edit Schedule Dates modal button overflow:
- Column layout on narrow screens so buttons are never squished

Document screen - Open With not working on Windows:
- Use openwith.exe (Windows 8+) with fallback to rundll32 OpenAs_RunDLL

Windows sidebar - Archive tab:
- Move Archives from ACCOUNT group to OVERVIEW group
2026-09-21 17:51:33 +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 e2f10f6260 feat(ui,audit): redesign folder cards and polish student actions, fix audit trail crash and count queries
- Fix audit trail AppPagination infinite width layout crash on Windows and Android
- Fix Android audit trail header 41px horizontal overflow with responsive layout
- Add missing user and history table joins to dashboard and user activity count queries
- Implement StyledFolderIcon matching modern tabbed folder design with internal JHS/SHS chips
- Align bulk operations bar margin to match list and grid widget containers
- Make student screen Add Student button elevated with emerald gradient and shadow
- Move edit student modal close button from leading to actions bar
- Polish Edit Details and Edit Enrollment actions in student profile modal
2026-09-19 22:56:42 +08:00
ssbg04 69b4879ac2 feat(dashboard,ui): overhaul dashboard KPIs, audit trail tab, responsive controls, and settings
- Remove recent activities and user history from dashboard; relocate to dedicated History tab
- Fix Document Breakdown overflow and rebalance Bento KPI grid layout
- Fix Android overflow on student profile Edit Details button
- Simplify grid view cards in documents and archives screens with minimal folder styling
- Fix transparency board filter contrast and export button styling in reports
- Default auto-update enrollment to off, add grace period input, and fix settings danger zone
2026-09-19 02:26:49 +08:00
ssbg04 2dc8ee4242 feat(ui,api): update action buttons, password modal button, and dashboard user count
- Exclude hidden super administrator from dashboard active users count

- Rename UPDATE PASSWORD button to UPDATE in change password modal

- Use single-word labels and uniform dimensions for user profile action buttons
2026-09-18 21:43:39 +08:00
ssbg04 59e94192aa feat(frontend): enhance student profile actions and report transparency board
- Add separate Edit Details and Edit Enrollment buttons in student profile modal

- Change delete button to Inactive in student profile modal

- Remove Inactive status from edit student modal dropdown

- Remove Set Inactive action from student multi-select bar and context menu

- Require long-press to activate multi-select on mobile student avatar

- Add clean tab switcher and collapsible info boxes to DepEd Transparency Board
2026-09-18 19:37:27 +08:00
ssbg04 48fcf181af refactor(reports): use standalone section cards and clean minimal header for Transparency Board 2026-09-18 19:05:13 +08:00
ssbg04 793bd340f1 fix(windows): auto-discover and include Visual Studio ATL/MFC paths in CMake to resolve atlstr.h 2026-09-18 18:41:36 +08:00
ssbg04 029629c349 feat(reports,splash): separate transparency board data/graphs and add release update popup 2026-09-18 18:22:04 +08:00
ssbg04 9a47a61c55 ci: add .NET setup and bundle VC++ CRT DLLs for Windows client 2026-09-18 16:56:25 +08:00
ssbg04 78035685a3 fix(desktop): fix Windows 10 crash vectors across screens, dialogs, and audio 2026-09-18 12:03:00 +08:00
ssbg04 7db2ad88b3 ci: add version tag to apk and exe artifact names 2026-09-18 09:13:08 +08:00
ssbg04 f6765887f1 fix(converter): set default long bond paper and fit-to-page, remove MS Excel COM 2026-09-18 02:04:06 +08:00
ssbg04 4d0ea25506 feat(docs): upload modal requirements strip with accurate status, collapsible list, and JHS/SHS tags
- Fix requirements strip to use missingRequirementsProvider (per-student) instead
  of global documentRequirementsProvider, so Completed/Archived/Needed states
  are accurately reflected for each student
- Fix dropdown 'Select Document Type' status labels (was always [Completed]);
  now correctly shows [Needed], [Archived], or [Completed] using ID-based lookup
  from missingRequirementsProvider
- Add collapsible/expandable requirements strip with AnimatedCrossFade and
  chevron toggle; shows mandatory-needed badge count in collapsed header
- Split needed chips into Mandatory (red) and Optional (orange) sections;
  add Archived (blueGrey) section distinct from Completed (green)
- Add JHS/SHS category tag on each chip (muted grey badge)
- Simplify chip styling to neutral background/border; color only on status icon
- Remove tap-to-assign chip interaction; chips are now display-only
- Clean up unused _isRequirementMissing, _isRequirementArchived, and
  _assignRequirementToEntry methods
- Update AGENTS.md: move completed Document Screen tasks into commented section
2026-09-18 01:02:57 +08:00
ssbg04 42cec52e21 fix(documents): fix thumbnail generation by selecting doc id and clean cache on delete 2026-09-17 22:28:17 +08:00
ssbg04 64b58537bd feat(ui): update student, document preview, document filter, and archive screens
- Add elevated Add Student CTA button to Android header and AddStudentModal.show helper
- Make document preview AppBar actions responsive with copy and delete always in more menu
- Switch document filter to direct document type dropdown
- Align archives screen layout, mobile search, and filter dropdown with documents screen
2026-09-17 22:12:06 +08:00
ssbg04 0af3c726eb feat(ui): update mobile headers, selection animation, and folder lrn detection 2026-09-17 21:10:45 +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 b737aede64 fix(auth): parse urlencoded form and query fallback for account deletion confirmation 2026-09-17 18:38:08 +08:00
ssbg04 df60ee9c39 feat(ui): add mini checkbox to grid view and disable multi-select on preview tap 2026-09-17 16:06:55 +08:00
ssbg04 632c0a4a87 fix(ci): fix yaml indentation in release workflow key.properties task 2026-09-17 13:19:22 +08:00
ssbg04 4bb18d128f ci: restore android release keystore from secrets and bump version to 1.0.13+13 2026-09-17 13:14:59 +08:00
ssbg04 9cd8ac1783 build(android): configure release signing config with key.properties 2026-09-17 10:46:10 +08:00
ssbg04 05e11068f4 feat: add account self-deletion, hidden super admin, and selection morph animations 2026-09-17 09:26:56 +08:00
ssbg04 78717e76fe added ms excel COM 2026-09-16 04:59:02 +08:00
ssbg04 e11a6375a2 update: README.md 2026-09-16 01:03:56 +08:00
ssbg04 d662c72d14 chore: remove Pictures, plans, and .agents from git tracking 2026-09-15 23:19:48 +08:00
ssbg04 49af400c89 fix(release): auto-increment patch and build number for Android and Windows releases 2026-09-15 23:07:10 +08:00
ssbg04 14c6193367 fix(search): fix history overlay interaction and premature dismissal on Windows 2026-09-15 21:30:11 +08:00
ssbg04 1144b43d49 ci(release): auto-increment version and build number via run_number 2026-09-14 20:15:40 +08:00
ssbg04 28f1dfb1b0 fix(search): fix history overlay flicker and clear/delete behavior 2026-09-14 20:07:55 +08:00
ssbg04 0e26fcea35 ci: update release workflow for Windows installer and Android universal apk 2026-09-14 12:53:21 +08:00
ssbg04 8e1cf43b14 ci: add GitHub Actions workflow for Windows and Android releases 2026-09-14 12:38:59 +08:00
ssbg04 1051967eb0 add: workflow for release apps' 2026-09-14 12:36:01 +08:00
ssbg04 9d30d86386 feat(settings): refactor collapsible cards, add feedback controls, and auto-collapse on leave 2026-09-14 12:26:08 +08:00
ssbg04 d2b3a2b5d6 feat(settings,students): add academic year activation dropdown and in-modal enrollment management 2026-09-14 11:44:27 +08:00
ssbg04 7907c244b1 feat(ui): polish user, settings, report screens
Fix user reset modal overflow and user search sync. Make settings cards collapsible and clean top banners.
2026-09-13 23:38:39 +08:00
ssbg04 470a8999a6 Redesign and optimize Documents and Archives screens header and list/grid views 2026-09-12 01:07:20 +08:00
ssbg04 bf33ac6544 feat(ui): hide desktop multi-select on Windows and harmonize filter icon colors 2026-09-11 23:13:04 +08:00
ssbg04 8d04d71925 feat(students): make profile circle clickable for multi-select on Android and restore hold-to-view status 2026-09-11 22:35:24 +08:00
ssbg04 b56f0b2f11 feat(users): make table column header fixed on scroll in user management 2026-09-11 22:03:58 +08:00
ssbg04 5d78742fef optimize(students): improve cards for low-end Android phones and mobile devices 2026-09-11 21:59:45 +08:00
ssbg04 d0164c0db3 fix(notif): fix Android background push notification delivery and deduplicate alerts 2026-09-11 19:42:58 +08:00
ssbg04 0f8cf0a5f9 feat(users): add status email alerts and update management UI 2026-09-11 06:06:49 +08:00
ssbg04 d8dd86ba04 feat: dynamic file upload limit per document requirement (frontend & backend) 2026-09-10 17:29:01 +08:00
ssbg04 01d636ea19 feat: implement roadmap updates, archive purge removal, and backend notifications/email resilience 2026-09-10 17:09:13 +08:00
ssbg04 1af5ada292 optimize(dashboard): smooth UI for Android and low-end devices, fixed history height, pause button border 2026-09-10 16:14:47 +08:00
ssbg04 fb5ba24571 fix(ui): adjust grid card sizing, add modal padding, and format pagination 2026-09-08 22:57:57 +08:00
ssbg04 287fe831e6 feat(ui): password modal in settings, compliance export relocation, and minimized grid cards 2026-09-08 22:35:50 +08:00
ssbg04 440dbae906 fix(ui): wrap file folder cards in local Material to prevent selection color bleed 2026-09-08 22:16:22 +08:00
ssbg04 7141f51e08 feat(ui): unify multi-select CAB design, card opacity, and padding across screens 2026-09-08 22:01:17 +08:00
ssbg04 fa0df9ed40 feat(dashboard): show document status distribution count over total requirements 2026-09-08 20:36:17 +08:00
ssbg04 e3452099cd fix(tunnel): separate health states, remove fake inferred-connected logic, add origin polling
- Remove INFERRED_CONNECT_MS: tunnelConnected is now only set true when
  cloudflared logs 'Registered tunnel connection' — never inferred from
  process uptime.

- Add four independent health dimensions:
    cloudflaredRunning  — child process alive/exited
    tunnelConnected     — actual cloudflared connection registered
    originHealthy       — http://127.0.0.1:18484/ reachable (polled every 20s)
    publicEndpointStatus — diagnostic only, never triggers restart

- Add checkOriginHealth(): polls 127.0.0.1:18484 with explicit IPv4
  (family:4) to avoid Windows localhost/IPv6 ambiguity.

- Restart cloudflared ONLY on process exit. A public 502/503/504/530
  is never a restart trigger.

- Add 90s startup connection timeout: logs 'degraded' warning with full
  diagnostics if no connection registered, but does NOT kill the process.

- Improve structured [Tunnel] logging: clearly distinguishes origin,
  process, connection, and public endpoint health in every log line.

- Token: never log the full value; log first 6 chars only as proof of
  configuration. Fail fast with clear error if token is missing.

- Duplicate process guard: explicit log when skipping a second spawn.

- start_tunnel.bat: add prominent warning not to run while backend is
  active; suppress token echo; add --no-autoupdate flag.
2026-09-01 16:49:10 +08:00
ssbg04 fb99ed0fb8 refactor(backend): clean cloudflare tunnel service and sanitize batch runner 2026-09-01 06:14:43 +08:00
ssbg04 7ffd5e2ae0 fix: embed email logo as CID attachment to fix broken icons in Gmail/Outlook 2026-09-01 01:26:51 +08:00
ssbg04 8fa366a61d feat: auto-detect 502 Bad Gateway on tunnel URL and self-heal 2026-09-01 01:18:07 +08:00
ssbg04 91a6383da7 fix: nodemon restart causes zombie cloudflared processes on Windows 2026-09-01 01:07:23 +08:00
ssbg04 e6a0a69271 feat: redesign email templates with school logo, digit OTP boxes, table layout 2026-09-01 00:58:35 +08:00
ssbg04 3dcad8878b fix: tunnel stability, NSSM service installer, cleanup old service scripts 2026-09-01 00:49:23 +08:00
ssbg04 906df823b5 fix(tunnel): add fix_conflicting_tunnel_service.bat to remove conflicting background service 2026-09-01 00:15:29 +08:00
ssbg04 c4bd6b0f4e feat(users): prioritize public domain and tunnel for email reset links over LAN IP 2026-09-01 00:12:13 +08:00
ssbg04 02645de474 fix(tunnel): synchronize valid tunnel token in start_tunnel.bat 2026-09-01 00:07:07 +08:00
ssbg04 0f0c73f8f4 fix(tunnel): ensure immediate tunnel activation and restore connected status log 2026-08-31 23:59:14 +08:00
ssbg04 7c4bff2191 fix(tunnel): stabilize cloudflared on Windows with QUIC protocol, non-blocking process management, and resilient connectivity checks 2026-08-31 23:54:57 +08:00
ssbg04 8c82db71e7 fix(tunnel): resolve Windows tunnel protocol delay and sync start_tunnel token 2026-08-31 23:48:22 +08:00
ssbg04 76a3bc6916 fix(tunnel): fix tunneling stalling/failing when connected to LAN 2026-08-31 23:44:41 +08:00
ssbg04 4f28947ca2 feat(users): prioritize public tunnel URL for reset email links 2026-08-31 23:34:35 +08:00
ssbg04 351b50f3cf feat(users): auto-detect Cloudflare Tunnel vs LAN IP for password reset link 2026-08-31 23:28:55 +08:00
ssbg04 661ba275c2 feat(users): implement admin email password reset with expiration, web reset form, and push notifications 2026-08-31 23:25:46 +08:00
ssbg04 21af7198ae feat(students): add guidance notes on enrollment downgrading in edit student modal 2026-08-31 23:14:31 +08:00
ssbg04 12209a79a6 style(dashboard): add theme-responsive border to Document Breakdown pie card 2026-08-31 23:07:05 +08:00
ssbg04 d779fc02db style(dashboard): add theme-responsive borders to cards, lists, and charts 2026-08-31 23:05:39 +08:00
ssbg04 69933f60bc feat(navigation): integrate search, notifications, and profile menu into Android AppBar for Dashboard 2026-08-31 22:54:33 +08:00