Skip to content

TASK: Secure Dynamic QR Code–Based Attendance Marking with Geo-Fencing and IP Validation for LMS #115

@smohantyargus

Description

@smohantyargus

Task Description
This task involves enhancing the existing LMS module in MEDPlat by implementing a secure QR code–based attendance marking system for learners. Instructors or authorized users should be able to generate a session-specific QR code for a particular course or module session. The QR code must automatically refresh every 2 minutes, generating a new secure, time-bound token to prevent misuse such as screenshot sharing or link forwarding.

When learners scan the QR code, they should be redirected to a unique, short-lived attendance link where they can mark their attendance. Users must be authenticated before submitting attendance. The system should enforce geo-fencing validation and apply IP-based restrictions (one attendance per IP per session) to reduce malpractice. The design must be modular, scalable, and fully integrated with the existing LMS architecture.

Key Outcomes:

  • Dynamic QR code generation per session with automatic refresh every 2 minutes.
  • Time-bound secure tokens with immediate invalidation of expired QR codes.
  • Authenticated attendance submission (only logged-in users).
  • Single attendance per user per session enforcement.
  • Geo-fencing validation with configurable radius control.
  • IP-based restriction allowing only one attendance per IP per session.
  • Attendance audit trail capturing timestamp, IP address, geo-coordinates, and device metadata.
  • Role-based access control (only instructors/admins can generate QR codes and view reports).
  • Session-wise attendance reporting and anomaly detection (duplicate IP, geo mismatch, repeated attempts).
  • Scalable and modular architecture aligned with the existing LMS module.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Good first issueGood for newcomersSheCodes 2026A women-focused Full Stack & Open- Source workshopTo-Do

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions