bbfd02216e12967625f444329d130da7dcd02e9b
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
bcryptandjsonwebtoken. - 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.
- Authentication: Secure login and session management using
🚀 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
- Navigate to the
backenddirectory:cd backend - Install dependencies:
npm install - Copy
.example.envto.envand configure your environment variables. - Start the server:
(For development, you can use
npm startnpm run devif nodemon is configured)
Frontend Setup
- Navigate to the
frontenddirectory:cd frontend - Fetch dependencies:
flutter pub get - Run the Windows application:
(To build the release executable, run
flutter run -d windowsflutter 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.
Languages
Dart
98.4%
C++
0.6%
CMake
0.3%
Kotlin
0.3%
Inno Setup
0.3%