Certificate Verification System

Overview

The Certificate Verification System allows students to verify and download their workshop certificates using a unique certificate ID format. The system integrates with Google Drive API to fetch certificates dynamically.

Certificate ID Format

The system uses the format: GPGMMYYYY{3-digit number}

Example: GPG092025001

Google Drive Folder Structure

The system expects the following folder structure in Google Drive:

Your Root Folder (YOUR_FOLDER_ID)
├── 01/ (January)
│   ├── 2024/
│   │   ├── GPG012024001.pdf
│   │   ├── GPG012024002.pdf
│   │   └── ...
│   ├── 2025/
│   │   ├── GPG012025001.pdf
│   │   └── ...
│   └── ...
├── 02/ (February)
│   ├── 2024/
│   ├── 2025/
│   └── ...
├── ...
├── 09/ (September)
│   ├── 2024/
│   ├── 2025/
│   │   ├── GPG092025001.pdf
│   │   ├── GPG092025002.pdf
│   │   └── ...
│   └── ...
└── 12/ (December)
    ├── 2024/
    ├── 2025/
    └── ...

Features

1. Dynamic Certificate Lookup

2. User Interface

3. Download Options

4. Dynamic Features

Technical Implementation

Files Created

  1. /co-curricular/certificate-verification/index.html - Main page
  2. /assets/css/pages/certificate-verification.css - Styling
  3. /assets/js/pages/certificate-verification.js - JavaScript functionality
  4. /co-curricular/index.html - Updated co-curricular activities page
  5. /assets/css/pages/co-curricular.css - Co-curricular page styling

API Integration

Dependencies

Setup Instructions

1. Google Drive Setup

  1. Create month folders (01, 02, …, 12) in your root folder
  2. Create year folders (2024, 2025, etc.) inside each month folder
  3. Upload certificates with appropriate naming in the year folders
  4. Set folder permissions to “Anyone with the link can view”

2. Certificate Naming

3. Testing

  1. Navigate to /co-curricular/certificate-verification/
  2. Enter a test certificate ID
  3. Verify the system works correctly

Customization

Changing API Key & Root Folder

As part of the Zero-JS architecture, API variables are strictly maintained securely in _data/site_config.yml. Do not edit the raw .js logic files.

Modify _data/site_config.yml:

API_KEY: "YOUR_NEW_API_KEY"
FOLDER_IDS:
  certificates: "YOUR_NEW_ROOT_FOLDER_ID"

Styling

Modify /assets/css/pages/certificate-verification.css to change:

Security Considerations

  1. API Key: The API key is exposed in client-side code. Consider using a proxy server for production.
  2. Folder Access: Ensure the Google Drive folder is set to “Anyone with the link can view”
  3. File Permissions: Certificates should be publicly accessible for download

Browser Support

Performance Optimizations

Troubleshooting

Common Issues

  1. Certificate Not Found: Check folder structure and naming
  2. API Errors: Verify API key and folder permissions
  3. Download Issues: Ensure files are publicly accessible
  4. QR Code Not Working: Check QRCode.js library loading

Debug Mode

Enable console logging by opening browser developer tools to see detailed error messages.

Future Enhancements