# TIS RMS
### Records Management System
**A full-stack, offline-capable platform for managing student records, documents, and OCR-powered data extraction in Philippine educational institutions.**







---
## โจ Features
- ๐ **Document Management** โ Upload, preview, and organize student documents (PDFs & images)
- ๐ **Student Records** โ Track enrollment status, LRN, grade level, strand, and document completion
- ๐ **OCR Extraction** โ Extract data from scanned documents via bundled Tesseract OCR (fully offline)
- ๐ **Reports** โ Generate DepEd School Form 10 (SF10) for JHS & SHS using bundled Excel templates
- ๐ **Push Notifications** โ Real-time alerts via Firebase Cloud Messaging
- ๐ **Authentication** โ JWT-based sessions with bcrypt password hashing
- ๐ ๏ธ **Windows Service** โ Backend can run as a persistent Windows Service via NSSM
---
## ๐๏ธ Architecture
Two components communicating over a local network:
- **Frontend** โ Flutter multi-platform client supporting **Windows** (desktop) and **Android** (mobile), built with Riverpod, Dio, Syncfusion PDF Viewer, and Socket.IO
- **Backend** โ Node.js + Express REST API with a local SQLite database, Tesseract OCR, and Ghostscript bundled for offline document processing
---
## ๐ Getting Started
**Prerequisites:** Node.js v18+, Flutter SDK (stable), Visual Studio 2022 with C++ workload.
> Tesseract OCR and Ghostscript are bundled โ no extra installation needed.
### Backend
```bash
cd backend
npm install
copy .example.env .env # configure port, JWT secret, etc.
npm run dev # or: npm start
```
### Frontend
```bash
cd frontend
flutter pub get
# Windows
flutter run -d windows
flutter build windows
# Android
flutter run -d android
flutter build apk
```
To build a Windows installer, compile `frontend/TIS_RMS_Client.iss` with **Inno Setup**, or run:
```powershell
.\build_release.ps1
```
---
## ๐ License
Developed by **BSIT3DSB** โ PLSP.
Built with โค๏ธ using Flutter & Node.js ยท TIS Records Management System