Skip to content

swarnendu-labs/authenticity-validator-main

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Authenticity Validator for Academia

A smart, secure Fake Degree / Certificate Recognition System
Built end-to-end (design β†’ frontend β†’ backend) in TypeScript + React by Swarnendu Majumder
Submission: Smart India Hackathon 2025


build-badge license-badge tech-badge


πŸ”Ž Project Summary

This project detects and prevents fake academic certificates by combining OCR, AI heuristics, and cryptographic verification.
Supports: scanned PDFs/images (legacy certificates) and digitally-issued certificates (with embedded hashes / QR / blockchain anchor).

Key capabilities:

  • OCR extraction (name, roll no., marks, cert id)
  • Pattern and metadata anomaly detection (tampered grades, cloned photos, forged seals)
  • Database matching (institution records) β€” bulk or real-time ingestion
  • Optional blockchain anchoring & QR/hash verification
  • Admin dashboard, alerts, blacklisting, audit logs

πŸ“– Folder/Files Explanation

Path Description
app/api/auth/ Authentication endpoints (signup, signin, OTP, etc.)
app/api/employee/ Employee-related APIs (approve users, pending users)
app/api/admin/ Admin-related APIs
app/dashboard/ Role-based dashboards (student, employer, institution, government, admin)
app/signup, signin, verify-otp User-facing authentication pages
components/ Reusable React components
components/ui/ UI primitives (button, card, input, etc.)
lib/db.ts Database connection
lib/models/ Mongoose models (User, PendingUser, OTP, Employee)
lib/email.ts Email utilities
lib/cloudinary.ts Cloudinary integration for uploads
public/ Static assets (images, icons, etc.)
.env.local Local environment variables
next.config.js Next.js configuration
package.json Dependencies and scripts
tsconfig.json TypeScript configuration

πŸ›  Tech Stack

  • Frontend: React (TypeScript), React Router, Tailwind CSS (or Chakra)
  • Backend: Node.js + TypeScript, Express
  • DB: MongoDB (Primary) β€” PostgreSQL optional for relational cert metadata
  • OCR: Tesseract.js (edge) / hosted Tesseract service or AWS Textract (plug-in)
  • AI / ML: Lightweight model / heuristics for anomaly detection (Python microservice or node bindings)
  • Blockchain (optional): Ethereum / Polygon for anchoring certificate hashes
  • Storage: AWS S3 / Cloudinary for uploaded files
  • Queue / Workers: BullMQ / Redis for async OCR & validation jobs
  • Auth: JWT + Role-based access (Employer / Institution / Admin)
  • Deployment: Vercel (frontend) + Heroku / AWS ECS / VMs (backend)

πŸš€ Quickstart (Development)

Prerequisites

  • Node.js >= 18
  • npm / pnpm / yarn
  • MongoDB instance (local or cloud)
  • Redis (for job queue)
  • (Optional) AWS credentials if using S3

Clone & Install

git clone https://github.com/Swarnendu1234/authenticity-validator.git
cd authenticity-validator-academia

How to start the Project

npm install
npm run dev

βš™οΈ Environment (example .env)

CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
MONGODB_URI=
EMAIL_USER=
EMAIL_PASS=
EMAIL_HOST=You can choose anything(e.g. smtp.gmail.com)
EMAIL_PORT=You can choose anything(e.g. 587)
JWT_SECRET=
NEXT_PUBLIC_BASE_URL=

Verification Pipeline:

  • Upload: "File stored in secure object storage"
  • Queue: "Async job created for OCR & validation"
  • OCR: "Extract text & fields using Tesseract/AI"
  • Preprocess: ["Normalize fonts", "Detect photo/seals", "Enhance image"]
  • Heuristics_ML: ["Template/layout check", "Signature analysis", "DB match", "Duplicate detection"]
  • Crypto_Check: "Validate hash/QR via blockchain or DB anchor"
  • Report: "Generate result with confidence & highlights"
  • Admin: ["Approve/Reject", "Blacklist offenders", "Notify stakeholders"]

🏫 Institution Integration

  • Bulk Upload: CSV / JSON import support for onboarding legacy data
  • Real-time API: /api/v1/institutions/:id/certs with mutual authentication
  • ERP Adapters: Export connectors for popular ERP systems

πŸ”’ Privacy & Security

  • Transport: TLS enforced across all services
  • Encryption: Field-level PII encryption for sensitive data
  • Access Control: Role-based access (Admin, Institution, Employer, Auditor)
  • Auditability: Complete logs for all actions & events
  • Compliance: GDPR & India IT Act aligned

πŸ“Š Admin Dashboard

Key Features

  • Live activity feed for real-time monitoring
  • Powerful search (student / certificate / institution)
  • Blacklist & Whitelist management
  • Download evidence packages
  • Export reports (CSV / PDF)
  • Alerts via Email, SMS, or Webhook integrations

πŸ“Έ Demo Screenshots

Here are some demo screenshots of the project:

Demo Screenshot 1 Demo Screenshot 2

Demo Screenshot 3 Demo Screenshot 4

Demo Screenshot 5 Demo Screenshot 6

Demo Screenshot 7 Demo Screenshot 8

Demo Screenshot 9

πŸ› οΈ Contribution

Note: Sole author for this hackathon submission. Open-source contributions are welcome after the event.

Workflow for Contributors

  1. Fork the repository
  2. Create a feature branch
  3. Submit a PR with proper tests & documentation

Contribution Guidelines

  • Keep commits atomic & descriptive
  • Always enable TypeScript strict mode
  • Use ESLint + Prettier for consistent code style

πŸ“œ License

This project is licensed under the MIT License.
See the LICENSE file for details.


πŸ‘€ Author

Swarnendu Majumder
πŸ“§ swarnendumajumdert2007@gmail.com

πŸ’‘ Full website (design β†’ frontend β†’ backend) built by the author.
πŸš€ Submitted as part of Smart India Hackathon 2025.

Releases

No releases published

Packages

 
 
 

Contributors