Skip to content

Latest commit

 

History

History
155 lines (127 loc) · 6.13 KB

File metadata and controls

155 lines (127 loc) · 6.13 KB

Database Administration Guide

Overview

CertiTrust now includes a comprehensive database system for managing institutions, students, and their certificates. This centralized database enables efficient tracking and verification of academic records.

Features

1. Institution Management

  • Add Institutions: Register new educational institutions with complete details
  • Pre-seeded Data: Comes with 3 sample institutions (Ranchi University, SKMU, BIT Mesra)
  • Institution Details: Name, type, location, establishment year, website, verification portal
  • Status Tracking: Active/inactive institution status

2. Student Management

  • Individual Registration: Add students one by one with complete details
  • Bulk Import: Upload CSV files to import multiple students at once
  • Student Information: Full name, roll number, program, batch, contact details
  • Institution Linking: Students are automatically linked to their institutions

3. Certificate Management

  • Automatic Storage: Certificates are automatically stored when uploaded
  • Comprehensive Metadata: File hash, IPFS CID, upload date, blockchain anchor
  • Student Linking: Certificates are automatically linked to students and institutions
  • Type Classification: Degree, Diploma, Marksheet, Provisional, Character, Migration certificates

4. Analytics Dashboard

  • Summary Statistics: Total institutions, students, certificates, and verifications
  • Institution Analytics: Student count, certificate count, verification count per institution
  • Recent Activity: Timeline of recent uploads and verifications
  • Data Visualization: Tables with sorting and filtering capabilities

Using the Database Admin

Accessing the Admin Panel

  1. Navigate to the main application
  2. Click "Database Admin" button on the landing page
  3. Or visit /database route directly

Adding Institutions

  1. Go to "Institutions" tab
  2. Click "Add Institution" button
  3. Fill in the institution details:
    • Name (required)
    • Type (University, College, Technical Institute, School)
    • Location
    • Establishment year
    • Website URL
    • Verification portal URL
  4. Click "Add Institution" to save

Managing Students

  1. Go to "Students" tab
  2. Select an institution from the dropdown
  3. Individual Entry:
    • Click "Add Student"
    • Fill in student details
    • Click "Add Student" to save
  4. Bulk Import:
    • Prepare CSV file with columns: firstName, lastName, rollNumber, program, batch, email, phone
    • Use the file upload in the bulk import section
    • Students will be automatically imported

CSV Format for Bulk Import

firstName,lastName,rollNumber,program,batch,email,phone
John,Doe,2021001,Computer Science,2021-2025,john.doe@email.com,+91-9876543210
Jane,Smith,2021002,Electrical Engineering,2021-2025,jane.smith@email.com,+91-9876543211

Certificate Tracking

  1. Go to "Certificates" tab
  2. View all uploaded certificates with:
    • Certificate details (name, type)
    • Student information
    • Institution name
    • Upload date
    • File hash (for verification)

Data Export

  • Click "Export Database" to download complete database as JSON
  • Useful for backups and data migration

Technical Implementation

Database Structure

The database uses localStorage for persistence with the following collections:

  • institutions: Educational institution records
  • students: Student profiles linked to institutions
  • certificates: Certificate records with metadata
  • verificationRecords: Verification attempt logs

Integration with Upload Flow

When uploading a certificate:

  1. Institution is selected from registered institutions
  2. Student details are entered (auto-creates student if not exists)
  3. Certificate metadata is automatically stored
  4. Cross-references are maintained between student, institution, and certificate

Data Relationships

  • Institution → Students: One-to-many relationship
  • Institution → Certificates: One-to-many relationship
  • Student → Certificates: One-to-many relationship
  • Certificate → Verification Records: One-to-many relationship

Benefits

For Administrators

  • Centralized Management: All institutional data in one place
  • Bulk Operations: Efficient student registration via CSV import
  • Analytics: Comprehensive insights into system usage
  • Data Integrity: Automatic cross-referencing and validation

For Users

  • Streamlined Upload: Pre-populated institution lists
  • Enhanced Verification: Rich metadata for verification process
  • Student Lookup: Quick student verification during upload

For Institutions

  • Self-Service: Institutions can manage their own data
  • Verification Support: Automated integration with verification workflows
  • Analytics: Track certificate issuance and verification patterns

Future Enhancements

Planned Features

  • Advanced Search: Full-text search across all records
  • Batch Verification: Verify multiple certificates against database
  • Institution Portal: Self-service portal for institutions
  • API Integration: REST API for external system integration
  • Audit Logs: Complete audit trail of all database operations
  • Data Validation: Advanced validation rules for student/certificate data

Database Migration

  • Server Database: Move from localStorage to PostgreSQL/MongoDB
  • Authentication: Role-based access control for institutions
  • Backup/Restore: Automated backup and disaster recovery
  • Data Encryption: Sensitive data encryption at rest

Troubleshooting

Common Issues

  1. CSV Import Fails: Check CSV format matches expected columns
  2. Student Not Found: Ensure correct roll number and institution selection
  3. Data Not Persisting: Check browser localStorage limits
  4. Institution Dropdown Empty: Verify DatabaseContext is properly loaded

Data Reset

To reset the database:

  1. Open browser developer tools
  2. Go to Application → Local Storage
  3. Delete ac_database_v1 key
  4. Refresh the application

Support

For technical support or feature requests, please refer to the main project documentation or create an issue in the project repository.