A desktop-based data collection and registration tool designed to securely capture and manage student records in real-time. This application forms part of a modular ecosystem that includes a backend API (built with Dart + Shelf) and a mobile companion app (built with Android + Java).
The Desktop App serves as the primary data entry interface for institutions such as schools. It enables administrators or clerks to register students while ensuring privacy — sensitive information is filled directly by students through a mobile pairing process.
Key Features:
- Create and manage student registration records
- Generate QR codes for secure pairing with a student’s mobile device
- Synchronize collected data with the backend
- Automatically update pairing and record status
- Clear pairing sessions after finalization
Desktop App ⇄ Backend (Shelf/Dart) ⇄ Mobile App (Android/Java)
│ ▲
└─── QR Code for pairing ─────────────┘
- Desktop App: Initiates and manages registration
- Mobile App: Scans QR code and completes student details
- Backend: Acts as a trusted intermediary ensuring secure pairing and synchronization
| Layer | Technology |
|---|---|
| Desktop | Java (Swing / JavaFX) |
| Backend | Dart (Shelf framework) |
| Database | SQLite (local) / PostgreSQL (remote) |
| Communication | REST API (HTTPS) |
| Packaging | MSIX / MSI for Windows |
- Create Record — A new record is created with a pending pairing state
- Generate QR Code — Encodes student ID and pairing token
- Scan & Pair — The mobile app scans and pairs through the backend
- Collect Data — Student fills missing details securely
- Finalize Record — Desktop syncs and closes the record
git clone https://github.com/miracletim/ERegister.git
cd ERegisterCreate a .env or configuration file:
API_BASE_URL=https://your-backend-host/apiIf using JavaFX:
./gradlew runor for plain Java:
javac -d bin src/**/*.java
java -cp bin _ERegister.Main- Offline data collection with background sync
- Role-based access control
- Record editing workflows
- Export reports to CSV / PDF
- Secure updates for existing records
This project is shared for learning, research, and institutional use. Modifications or derivative works are not permitted under the current license.
If you would like to collaborate or request usage permissions, please reach out via GitHub Issues.
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License (CC BY-NC-ND 4.0).
You are free to:
- Share — copy and redistribute the material in any medium or format
Under the following terms:
- Attribution (BY) — You must give appropriate credit
- NonCommercial (NC) — You may not use the material for commercial purposes
- NoDerivatives (ND) — If you remix, transform, or build upon the material, you may not distribute the modified material