ssbg04
d7d38af631
fix(windows): bundle vc_redist in client installer and download in release workflow
2026-10-11 11:08:21 +08:00
ssbg04
f890058cf3
chore: untrack backend from git repository and add to .gitignore
2026-10-09 01:40:52 +08:00
ssbg04
59049f848d
fix(build): unignore documentation assets and suppress cmake cmp0175 warning
2026-10-06 12:34:16 +08:00
ssbg04
a8473c23b7
feat(students): add single-student multi-enrollment CSV import modal
...
- Add StudentCsvEnrollmentModal for bulk-adding multiple enrollment
records across school years for one specific student via CSV input
- CSV format: School Year, Grade Level, Section, Track/Strand
- Features: editable monospace text area, Fill Example, Copy Template,
file upload (.csv/.txt), and live backend progression verification
- Show row-by-row verification results with valid/error status chips
and actionable error messages (section suggestions, available years)
- Admin-only: hidden from teacher role via _isTeacher guard
- Wire Bulk Enroll (CSV) button in edit_student_modal.dart to
StudentCsvEnrollmentModal passing studentId, studentName, studentLrn
- Add Bulk CSV shortcut button in edit_enrollment_modal.dart Current
Enrollments header for admins
- Backend: POST /api/students/:id/verify-enrollments for live per-row
progression and section existence validation
- Backend: POST /api/students/:id/bulk-enrollments for transactional
batch enrollment creation with activity logging and socket events
- Add verifyStudentEnrollments and bulkAddStudentEnrollments repository
methods in student_repository.dart
2026-10-04 13:48:53 +08:00
ssbg04
78717e76fe
added ms excel COM
2026-09-16 04:59:02 +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
fb99ed0fb8
refactor(backend): clean cloudflare tunnel service and sanitize batch runner
2026-09-01 06:14:43 +08:00
ssbg04
09fcd479f4
feat(ui): implement vertical Speed Dial expandable FAB menu for Documents and Archives screens on Android
2026-08-22 22:49:11 +08:00
ssbg04
e100d6bdf4
feat: add headless LibreOffice Excel to PDF conversion for Windows and Android
2026-08-21 15:58:43 +08:00
ssbg04
41d5fb3459
feat(release): add flutter build rule, INSTALL.md, and Inno Setup Windows installer script
2026-08-18 21:54:37 +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
be8a58b178
chore: remove backend/data/ from git tracking and ignore entire folder
2026-08-18 16:05:16 +08:00
ssbg04
030322d496
chore: untrack google-services.json from git and add to gitignore
2026-08-18 16:03:55 +08:00
ssbg04
0c859d7142
feat(fcm): support firebase-admin v14 modular API and google-services integration
2026-08-18 15:35:47 +08:00
ssbg04
14607c15c4
fix(students): dynamic database filter options with cascading resets and clean dropdowns
2026-08-16 23:16:12 +08:00
ssbg04
01605bc8fd
fix: remove duplicate variable declaration in documents_screen.dart
2026-08-12 14:03:39 +08:00
ssbg04
7256b5e757
chore: Ignore runtime backup logs
2026-07-25 00:23:10 +08:00
ssbg04
d983c0d2d8
feat: teacher section scoping, session expiry fix, and notification timeline sorting
...
Backend:
- studentController: scope teacher student list/count by timeline-latest enrollment
(ORDER BY ay.year_range DESC, e.grade_level DESC, e.id DESC) instead of MAX(id)
- documentController: same timeline-based scoping for teacher document access
- folderController: same timeline-based scoping for teacher folder access
- dashboardController: same timeline-based scoping for teacher dashboard stats
- archiveController: same timeline-based scoping for teacher archive view
- notificationController: replace MAX(id) enrollment subqueries with timeline sort;
add broadcast notification support (entity_type IS NULL, category IN (student/document/system))
- schema, routes, reports, requirements, users: various supporting updates
Frontend:
- auth_repository: restore FlutterSecureStorage for JWT token storage
(was broken: migrated to SharedPreferences while all other repos read from FlutterSecureStorage,
causing all API calls to send null token silently)
- student_model: add latestEnrollment getter computed dynamically from enrollments list;
expose latestGradeLevel/latestSection as getters with fallback to server-supplied values
- student_provider: invalidate studentDetailProvider on update/bulkEnroll/bulkGraduate
- inactivity_wrapper: fix timeout 3000s -> 300s (5 min); improve _handleInactivity guard
- dashboard, documents, settings, students, users screens: various UI updates
Chore:
- .gitignore: add .env, *.db, student uploads, debug/scratch scripts, flutter build artifacts
- remove tis_rms.db from git tracking (runtime data, should never be committed)
2026-06-23 01:13:00 +08:00
ssbg04
2b02fbd1d1
add: screenshots of windows app
2026-06-11 19:20:17 +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