KEMBAR78
ID Card Management Module | PDF | Identity Document | Computing
0% found this document useful (0 votes)
20 views4 pages

ID Card Management Module

id card module using node js

Uploaded by

tinotenda015
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views4 pages

ID Card Management Module

id card module using node js

Uploaded by

tinotenda015
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

ID Card Management Module

🎯 Core Objective
To issue unique, scannable ID cards to students and staff, track their validity,
and manage expirations or renewals.

📦 Epic 1: ID Generation and Issuance


✅ Story 1.1: Generate unique ID numbers
As a system

I want to generate a unique ID for each student or staff

So that I can ensure identity consistency and avoid duplicates

Tasks:

Define ID format (e.g., STU-2025001, STF-EMP0321)

Auto-generate on enrollment or hire

Check for uniqueness

✅ Story 1.2: Create ID cards


As an admin

I want to generate ID cards with name, photo, ID number, role, and validity period

So that each user can have a printed or digital identification

Tasks:

Design ID card layout

Generate QR/barcode (optional)

Export as printable PDF/image

✅ Story 1.3: Attach ID photos


As a registrar or HR officer

I want to upload or capture ID photos

So that the ID cards display correct images

Tasks:

Upload student/staff photo

Resize/crop support

⏳ Epic 2: ID Validity and Expiration Tracking


✅ Story 2.1: Assign issue and expiration dates
As an admin

I want to record when an ID was issued and when it expires

So that I can plan for renewals


Tasks:

Set duration per role (e.g., 4 years for students, 1 year for temp staff)

Show remaining validity period

✅ Story 2.2: Notify upcoming expirations


As the system

I want to notify admins or users before their ID expires

So that they can renew on time

Tasks:

Automated alerts (30/15/7 days before expiry)

Mark IDs as expired if not renewed

✅ Story 2.3: Renew expired IDs


As a registrar or HR

I want to renew expired or soon-to-expire IDs

So that identity and access remain active

Tasks:

Extend expiration date

Optionally reissue new ID number or card

🔒 Epic 3: ID Usage and Validation (Optional)


✅ Story 3.1: Scan and validate ID
As a security or gatekeeper

I want to scan an ID (QR/barcode) and see if it is valid

So that I can control access to the premises

Tasks:

QR/barcode scanner integration

Validity and user role check

✅ Story 3.2: Log ID usage


As the system

I want to log when and where an ID was scanned

So that I can audit usage

Tasks:

Save scan logs (user, date, location)

Optional: trigger access control system


📊 Epic 4: Reporting and Administration
✅ Story 4.1: View ID status report
As an admin

I want to view issued, expired, and pending ID statuses

So that I can act accordingly

Tasks:

Filter by role, expiration date, issuance status

Export list for review

✅ Story 4.2: Bulk ID export for printing


As an admin

I want to download a batch of ID cards for printing

So that I can distribute them to users

Tasks:

Select users

Generate printable file (PDF with N IDs per page

ID Card Management Models


id_cards
----------------------------------------------
CREATE TABLE id_cards (
id SERIAL PRIMARY KEY,
Institution_id
user_id INT NOT NULL,
user_type ENUM('student', 'staff') NOT NULL,
id_number VARCHAR(50) NOT NULL UNIQUE, -- e.g., STU-2025001, STF-EMP2023
issue_date DATE NOT NULL DEFAULT CURRENT_DATE,
expiration_date DATE NOT NULL,
status ENUM('ACTIVE', 'INACTIVE') DEFAULT 'ACTIVE',
photo_url TEXT,
qr_code TEXT, -- base64 string or image path
FOREIGN KEY (user_id)
REFERENCES students(id)
ON DELETE CASCADE

FOREIGN KEY (institution_id)


REFERENCES institution(id)
ON DELETE CASCADE

);

id_card_templates
CREATE TABLE id_card_templates (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
background_image TEXT,
font_family VARCHAR(50),
font_color VARCHAR(20),
logo_url TEXT,
layout_json JSONB, -- positioning info for dynamic rendering
is_default BOOLEAN DEFAULT FALSE
);

You might also like