ssbg04 99e1471889 feat: Add server IP auto-discovery and ML Kit Document Scanner integration
- Added server LAN discovery to auto-detect and persist backend IP.

- Updated health-check route to expose X-TIS-RMS header.

- Added 'Change Server' UI option to login screen.

- Integrated Google ML Kit Document Scanner for edge detection, perspective correction, and auto-enhancement on Android.
2026-07-05 21:38:27 +08:00

TIS RMS (Records Management System)

A comprehensive, client-server Records Management System designed to streamline document handling, student records management, and automated data extraction.

🏗 Architecture Overview

This project is divided into two primary components:

1. Frontend (Flutter Windows Application)

A modern, performant desktop application tailored for Windows, built using Flutter.

  • Key Technologies: Flutter, Riverpod (State Management), Dio (Networking), Syncfusion PDF Viewer.
  • Core Modules:
    • Dashboard: Overview of recent activities and user history.
    • Document Management: Upload, preview, and manage student records and documents.
    • OCR Integration: Automatically extract data from scanned documents directly into the system.
    • User & Student Management: Interface to manage student profiles, teacher records, and administrative settings.
    • Reports Generation: Support for standard educational Excel templates (e.g., School Form 10).

2. Backend (Node.js REST API)

A robust and lightweight local server providing data persistence and powerful OCR processing capabilities.

  • Key Technologies: Node.js, Express.js, SQLite (better-sqlite3), JWT (Authentication), Multer (File Uploads).
  • Core Features:
    • Authentication: Secure login and session management using bcrypt and jsonwebtoken.
    • Local Database: Utilizes a fast, local SQLite database (tis_rms.db) for portability and simple deployment.
    • OCR & PDF Engine: Integrates locally bundled Tesseract OCR and Ghostscript to securely process and extract text from images and PDFs completely offline.
    • File Handling: Secure temporary storage and parsing pipeline for incoming files.

🚀 Getting Started

Prerequisites

  • Node.js (v18 or higher recommended)
  • Flutter SDK (stable channel)
  • Visual Studio with C++ workload (for compiling the Windows Flutter app)

Backend Setup

  1. Navigate to the backend directory:
    cd backend
    
  2. Install dependencies:
    npm install
    
  3. Copy .example.env to .env and configure your environment variables.
  4. Start the server:
    npm start
    
    (For development, you can use npm run dev if nodemon is configured)

Frontend Setup

  1. Navigate to the frontend directory:
    cd frontend
    
  2. Fetch dependencies:
    flutter pub get
    
  3. Run the Windows application:
    flutter run -d windows
    
    (To build the release executable, run flutter build windows)

📦 Included Dependencies & Tooling

  • Tesseract & Ghostscript binaries: The backend repository includes bundled Windows binaries for Tesseract OCR and Ghostscript to guarantee that document processing works out-of-the-box without requiring complex system path configurations.
  • Inno Setup: Includes an installer script (TIS_Frontend.iss) for easily packaging and distributing the compiled Flutter application.
S
Description
No description provided
Readme AGPL-3.0
116 MiB
0 Stars 1 Watchers 0 Forks
Languages
Dart 98.4%
C++ 0.6%
CMake 0.3%
Kotlin 0.3%
Inno Setup 0.3%