Skip to content

biga-codes/examination-centre-logistics-platform-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

52 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Automated examination centre operations platform - end semester project

πŸ“‹ Project Overview

This project provides a full suite software setup for every logistic task involving examination centres- starting from Image capture/verification Kiosks, candidate ID checks, Impersonation Checks using OCR and Computer Vision, along with Biometric Auditing, Hall-Ticket Generation, Exam Centre Allocation and Candidate Report Detail PDF Generation.

Automated examination centre operations platform with real-time candidate verification, aadhar/pan/hall-ticket OCR processing, live facial biometric capture, and comprehensive audit trails. Combines computer vision preprocessing, deep learning face matching, fuzzy similarity algorithms, and centralized dashboards for efficient, fraud/impersonation proof setup, This project eliminates the time-consuming manual verification processes and reduces impersonation fraud through biometric validation.

πŸ› οΈ Technology Stack

  • Backend: Python, Flask
  • Database: SQLite with SQLAlchemy ORM
  • Computer Vision: OpenCV (cv2)
  • OCR: Tesseract (pytesseract)
  • Image Processing: Pillow (PIL)
  • Text Matching: RapidFuzz (fuzzy string matching)
  • PDF (Hallpass) Generation: Html, xhtml2pdf
  • Image Embedding/Quality Processing: numpy, base64

Website Implementation:

Home Page

Screenshot 2026-03-02 224342

Candidate Face Verification/Live web camera capture/ OCR and ID verification kiosk + Computer vision pipeline

Screenshot 2026-03-02 224300

Candidate Detail Registration and Upload to backend Database with various ID choices for upload

Screenshot 2026-03-02 224229

Webcamera Image Capture

image

Hallway Ticket & Candidate ID generation:

Screenshot 2026-03-02 225247 Screenshot 2026-03-02 225258

🎯 Purpose

Traditional examination centre entry procedures involve extensive manual checks of identity documents and hall tickets, leading to:

  • Long queues and significant delays
  • Human errors in verification
  • Difficulty handling large volumes of candidates
  • Increased risk of malpractice due to inadequate scrutiny

✨ Key Features

  • πŸ” Automated OCR Text Extraction: Extracts candidate information from hall tickets, Aadhaar cards, and other ID documents using Tesseract OCR
  • πŸ‘€ Facial Recognition: Compares live candidate photos with reference images stored in the database
  • πŸ“Š Real-time Verification Dashboard: Web-based interface for managing candidate records and verification status
  • πŸ—„οΈ Centralized Database: SQLite-based storage for candidate records, verification attempts, and audit logs
  • πŸ” Secure & Audit-Friendly: All verification attempts are logged with timestamps for traceability
  • ⚑ Fast Processing: Reduces verification time from minutes to seconds per candidate
  • 🎯 Fuzzy Matching: Handles OCR errors using similarity metrics (RapidFuzz/Levenshtein) for robust text matching

πŸ—οΈ System Architecture

The system follows a multi-stage verification pipeline:

image
  1. Image Capture: ID documents and live photos captured via camera/webcam
  2. Preprocessing: Image enhancement, denoising, and preparation using OpenCV
  3. Text Extraction: OCR engine extracts text from preprocessed ID images
  4. Data Normalization: Fuzzy text correction handles spelling errors and formatting
  5. Facial Recognition: Features extracted from live photo and compared with stored data
  6. Database Verification: Cross-references extracted data with SQLite records
  7. Decision & Logging: Returns ACCEPTED/REJECTED status with audit trail

Testing & Setup Guide

This guide covers how to set up, configure, and run the mod1 application.

Prerequisites

System Requirements

  • Python 3.8 or higher
  • PowerShell Terminal on VS Code
  • SQLite3

Required Libraries

Install all dependencies using pip:

pip install flask sqlalchemy pytesseract pillow opencv-python rapidfuzz

Or use the requirements file:

pip install -r requirements.txt

PowerShell Execution Policy (Windows Only)

If you encounter execution policy restrictions on Windows, run:

Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass

Installation Steps

1. Clone the Repository

git clone https://github.com/biga-codes/mod1.git
cd mod1

2. Install Dependencies

pip install https://github.com/Gourieff/Assets/raw/main/Insightface/insightface-0.7.3-cp313-cp313-win_amd64.whl
pip install -r requirements.txt

3. Database Initialization

Initialize the local SQLite databases from the root directory before the first run:

python website/create_db2.py
python website/create_verify_db.py
python website/migrate_verify_db.py

This creates:

  • *.db - Local SQLite instances storing verification records and user data

Running the Application

Starting the Flask Server

# Navigate into the website folder
cd website

# Launch the Flask server
python app.py

Server Details

Project Structure

File/Folder Description
website/app.py Main Flask entry point and API route definitions
website/templates/ Jinja2 templates for the Home, Candidate, and Report views
website/static/ Contains the futuristic CSS style.css and local assets
uploads/ocr/ Storage for sensitive candidate documents
*.db Local SQLite instances storing verification records and user data

Running Tests

Manual Testing

  1. Navigate to the website directory:

    cd website
  2. Start the application:

    python app.py
  3. Open your browser and navigate to:

    http://127.0.0.1:5000/
    
  4. Test the following features:

    • Home page loads correctly
    • Candidate verification functionality
    • Document upload and OCR processing
    • Report generation

API Testing

You can test the API endpoints using tools like:

  • cURL
  • Postman
  • HTTPie

Example:

curl http://127.0.0.1:5000/api/endpoint

Troubleshooting

Common Issues

1. Module Not Found Error

ModuleNotFoundError: No module named 'flask'

Solution: Install dependencies:

pip install flask sqlalchemy pytesseract pillow opencv-python rapidfuzz

2. Template Not Found Error

TemplateNotFoundError: template.html

Solution: Make sure you're running python app.py from the website/ directory:

cd website
python app.py

3. Database Error

sqlite3.OperationalError: no such table

Solution: Initialize databases from the root directory:

cd ..  # Go back to root
python website/create_db.py
python website/create_verify_db.py

4. Port Already in Use

OSError: [Errno 48] Address already in use

Solution: Kill the process using port 5000 or change the port in app.py

Security & Data Privacy

⚠️ Security Notes:

  • Ensure proper access controls are in place for production deployments
  • Never commit sensitive documents or database files to version control

Development Workflow

  1. Make changes to the code
  2. Navigate to website directory: cd website
  3. Run the application: python app.py
  4. Test your changes in the browser
  5. Stop the server: Press Ctrl+C

Additional Resources

Support

For issues or questions, please open an issue on the GitHub repository: https://github.com/biga-codes/mod1/issues

About

Provides a full suite software setup for all logistic tasks involving examination centres- starting from Image capture/verification Kiosks, Aadhar/PAN ID checks, Impersonation Detection using OCR , Computer Vision, Fuzzy Matching algorithms. Biometric Auditing, Hall-Ticket PDF Generation, Exam Centre Allocation and Candidate Report Auditing

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors