- Hide school year and status filters in student filter dialog on Enrolled tab\n- Remove 'Enrolled' status filter option on All Students tab\n- Sync studentViewTabProvider and studentActiveFilterCountProvider across desktop and mobile layouts
54 KiB
54 KiB
BACKEND WORKFLOW (F:\SumbrerongBato\tis_rms_server\backend)
- Read/Analyze Task → Inspect backend directory.
- Draft Code → Execute Quality Gate (Accept / Decline).
- Post-Code Loop: Analyze Errors → Resolve → Re-verify until Errors == 0.
- Terminal Exit: If build clean → Execute
git push.
FRONTEND WORKFLOW (F:\SumbrerongBato\tis_rms_server\frontend)
- Read/Analyze Task → Inspect frontend directory.
- Draft Components/Logic → Execute Quality Gate (Accept / Decline).
- Post-Code Loop: Analyze UI/Build Errors → Resolve → Re-verify until Errors == 0.
- Terminal Exit: If build clean & lint passes → Execute
git push.
⚡️ TOKEN COMPRESSION PROTOCOL
1. INPUT RESTRICTIONS (CONTEXT DRYING)
- Ignore system-level file-tree re-reads unless files change (Δ).
- Avoid parsing historical chat history beyond the immediate code break.
- Reference internal libraries by name only; do not request full source mappings.
2. OUTPUT SYSTEM CONSTRAINTS (ZERO BLOAT)
- NO natural language intros, greetings, or conversational transitions.
- NO explanations, rationales, or "why this works" breakdowns.
- NO summaries of work completed or code recap commentary.
- Exclude all code comments, inline documentation, and docstrings.
3. PATCH FORMATTING (MICRO-DIFFS ONLY)
- BANNED: Full-file reprinting, multi-line blocks of unchanged code.
- MANDATORY: Return micro-diff format or target lines replacement only:
- [old line] + [new line] - If a file creation is required, generate minimal skeleton logic only.
4. QUOTA BRAKING
- Max output limit per prompt turn = 150 tokens.
- If patch logic requires >150 tokens: STOP, emit
[TOKEN LIMIT BRAKE], and wait for chunked instructions.
📱 FLUTTER UI/UX RULES
- Stack: Flutter (latest) + Riverpod (AsyncNotifier/Notifier) + Material 3 (
useMaterial3: true). - Palette: Use existing
Theme.of(context).colorSchemetokens only. Never hardcode hex values. - Layout: Stack actions vertically on Android (
Columnwith full-widthElevatedButton). - Output: No design essays. Return optimized widget code immediately.
TODO
- dont do tasks with "(dont do)"
ANDROID APP
- [DONE] hamburger nav bar slide too much touch area on the left
- In
android_bottom_nav_layout.dart, reduceddrawerEdgeDragWidthfromMediaQuery.of(context).size.width * 0.45down to a strict28.0edge touch area to prevent accidental drawer opening when interacting with screen content.
- In
- [DONE] report screen in deped tab export pdf cannot download the generated pdf, because of permission denied in android app
- In
download_service.dart, addedsaveBytes()with adaptive permission management for Android: requestsPermission.manageExternalStorageon Android 11+ (API 30+) and standard storage permission on Android 10 and below. - Added multi-tier storage fallback: if public
/Download/TIS_RMSis restricted by Android OS or denied by the user, gracefully falls back to app-specific external download/document storage directories that never throw permission errors. - In
AndroidManifest.xml, addedandroid:requestLegacyExternalStorage="true"to<application>for legacy storage support on Android 10 (API 29). - Updated
transparency_board_section.dartandreports_screen.dartto useDownloadService.saveBytes().
- In
STUDENT SCREEN
- [DONE] remove the "Student Directory" and copy the design of top header tab on attached picture
- Removed "Students Directory" page title heading and unified the header into a floating card (
height: 52,margin: horizontal 16/24, vertical 8, rounded 12 with border and subtle shadow). - Left side contains segmented tab switcher (
Enrolled&All Students), right side contains search button, filter button with badge, elevatedAdd Studentprimary CTA button, and bulk import button.
- Removed "Students Directory" page title heading and unified the header into a floating card (
- [DONE] students tab make the filter not the same for enrolled and all, in the enrolled remove the status and school year, now in all tab remove the enrolled status
- Enrolled tab: Filter dialog hides both "School Year" and "Status" sections (locked to current active school year + Enrolled status). Resetting filters clears grade/section/4Ps/sorting/limit without unsetting the enrolled school year or status.
- All Students tab: Filter dialog displays "School Year" dropdown and "Status" filter chips with
'Enrolled'removed (options:'All Status','Graduated','Transferred','Dropped','Inactive'). - Added
studentViewTabProviderand updatedstudentActiveFilterCountProviderso the filter badge count accurately counts active user overrides per tab.
USERS SCREEN
- [DONE] use tabs for filter of all, admin, teacher, inactive -> copy the design on attached picture
- Converted the old role filter chips and scrollbar into unified segmented tabs (
All,Admin,Teacher,Inactive) with matching active/inactive states. - Placed inside a matching top header card (
height: 52, rounded 12) with Search button andAdd UserCTA on the right.
- Converted the old role filter chips and scrollbar into unified segmented tabs (
SETTINGS SCREEN
- [DONE] descriptions of the system client, contact developers -> settings screen support
- Upgraded the collapsible card in
settings_screen.dartto "About, Support & System Information". - Added Client/System description header for Talisay Integrated School Records Management System.
- Added Developer & Technical Support section for Dalubhasaan ng Lungsod ng San Pablo (DLSP) BSIT Capstone Team with lead developer email (
crischarlesgarcia345@gmail.com). - Added direct action CTAs: "Contact via Email" (mailto launcher / clipboard fallback), "Report an Issue" (GitHub issues link), "GitHub Repository" (project repository link), and "Meet the Team" (navigates to
CapstoneMembersScreen).
- Upgraded the collapsible card in
- [DONE] make the about, support, system information in settings responsive
- System/Client Description Header now adapts using
LayoutBuilder(<460px): renders icon + title in a row and full-width description below on mobile screens, avoiding horizontal squishing. - System Information items (
_buildAboutInfoRow) dynamically switch from a 2-column fixed-label layout to stacked label & selectable value on compact viewports (<460px), preventing text compression. - Developer Contact container adapts on viewports <500px: stacks label and email with a clean indentation to prevent horizontal overflows. Action buttons seamlessly wrap with
Wrap.
- System/Client Description Header now adapts using
DONT DO
TIS_RMS Server Manager (dont do)
Windows Service - NSSM nodejs
-
backup/restore db and files
-
backup: database backup, automatic schedule, snapshot retention
-
restore: restore database, validate backup, restart service automatically
-
files: mirror backup, verify files, restore files,
-
can choose where to store db and files separately
-
dashboard: server status, cpu mem usage, connected users, uptime
-
service: controls windows service stop start restart
-
logs, server logs, error logs
-
settings backup path, file backup path, database location