Skip to content

A secure desktop-based data collection and registration tool that integrates with a Dart Shelf backend and Android mobile app for synchronized student record management through QR-based pairing.

License

Notifications You must be signed in to change notification settings

miracletim/ERegister

Repository files navigation

Java CI


🖥️ Data Collection Desktop App

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).


🚀 Overview

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

🧩 System Architecture

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

⚙️ Tech Stack

Layer Technology
Desktop Java (Swing / JavaFX)
Backend Dart (Shelf framework)
Database SQLite (local) / PostgreSQL (remote)
Communication REST API (HTTPS)
Packaging MSIX / MSI for Windows

🧠 Core Workflow

  1. Create Record — A new record is created with a pending pairing state
  2. Generate QR Code — Encodes student ID and pairing token
  3. Scan & Pair — The mobile app scans and pairs through the backend
  4. Collect Data — Student fills missing details securely
  5. Finalize Record — Desktop syncs and closes the record

🧰 Development Setup

1. Clone the repository

git clone https://github.com/miracletim/ERegister.git
cd ERegister

2. Configure environment

Create a .env or configuration file:

API_BASE_URL=https://your-backend-host/api

3. Build & Run

If using JavaFX:

./gradlew run

or for plain Java:

javac -d bin src/**/*.java
java -cp bin _ERegister.Main

🧾 Planned Features

  • Offline data collection with background sync
  • Role-based access control
  • Record editing workflows
  • Export reports to CSV / PDF
  • Secure updates for existing records

🤝 Contributing

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.


🪪 License

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

View Full License →

About

A secure desktop-based data collection and registration tool that integrates with a Dart Shelf backend and Android mobile app for synchronized student record management through QR-based pairing.

Topics

Resources

License

Stars

Watchers

Forks

Languages