A full-stack academic integrity platform built as a BSc IT Final Year Project
EduShield detects plagiarism and AI-generated content in student documents through two workflows: a classroom-based FacultyβStudent pipeline for institutional use, and a Personal Document Checker for individual users β built to serve educators and independent researchers alike.
| Feature | Student | Faculty | Personal User |
|---|---|---|---|
| Upload Documents | β | β | β |
| Plagiarism Detection | β | β | β |
| AI Content Detection | β | β | β |
| Downloadable PDF Report | β | β | β |
| View Assignment Feedback | β | β | β |
| Manage Sections | β | β | β |
| Review Submissions | β | β | β |
- Secure JWT-based authentication
- Three roles: Faculty, Student, Personal User
- Role-based UI and API access control
- Create classroom sections with unique access codes
- Upload reference assignments per section
- Review all student submissions
- Detect:
- Student-to-reference plagiarism
- Student-to-student cross-comparison
- Add remarks, grades, and resubmission requests
- Join sections via access code
- Upload assignments (
.pdf/.docx) - View plagiarism percentage and AI detection results
- Track submission attempts, deadlines, and faculty feedback
Upload any academic document for a detailed integrity report:
- Domain-based analysis β Computer Science Β· Science Β· Commerce Β· General
- Fingerprint-based plagiarism detection against a public domain corpus
- AI content detection via transformer model
- Severity classification β Low Β· Medium Β· High
- Highlighted matched phrases in results
- Downloadable PDF report, ready to share
Text Normalization β Word Shingling β SHA-256 Hashing β Corpus Comparison β Similarity Score
- Text is cleaned and broken into overlapping word shingles
- Each shingle is hashed with SHA-256
- Hashes are compared against a domain-specific public corpus
- Similarity is derived from the fingerprint overlap ratio
Severity thresholds:
| Similarity Score | Severity | Interpretation |
|---|---|---|
| β€ 15% | π’ Low | Common academic phrasing |
| 16β40% | π‘ Medium | Partial content resemblance |
| > 40% | π΄ High | Strong overlap β likely plagiarism |
- Model:
roberta-base-openai-detector(HuggingFace Transformers) - Output: AI Generated / Human Written + confidence score
- Integrated directly into results for both personal and classroom uploads
Auto-generated reports include:
- Document filename & upload timestamp
- Plagiarism percentage + severity badge
- AI detection result + confidence score
- Highlighted matched phrases
- One-click download from the Results page
Frontend β React.js (SPA) Β· Tailwind CSS Β· Fetch API Β· Toast notifications
Backend β FastAPI Β· SQLAlchemy ORM Β· PostgreSQL Β· JWT authentication
AI / ML β Scikit-learn (TF-IDF & cosine similarity) Β· HuggingFace Transformers (AI detection) Β· SHA-256 fingerprint hashing (custom plagiarism engine)
Cloud & Utilities β AWS S3 (file storage) Β· ReportLab (PDF generation)
EduShield/
βββ backend/
β βββ main.py # API routes & app entry point
β βββ models.py # SQLAlchemy database models
β βββ schemas.py # Pydantic request/response schemas
β βββ database.py # DB connection & session config
βββ frontend/
β βββ src/
β β βββ pages/ # Route-level page components
β β βββ components/ # Reusable UI components
β β βββ App.jsx # Root component & routing
β βββ public/
βββ uploads/ # Temporary file storage
βββ README.md
Prerequisites: Python 3.9+ Β· Node.js 18+ Β· PostgreSQL Β· AWS S3 bucket (for file storage)
cd backend
python -m venv venv
venv\Scripts\activate # Windows
# source venv/bin/activate # macOS/Linux
pip install -r requirements.txt
uvicorn main:app --reloadAPI:
http://localhost:8000Β· Docs:http://localhost:8000/docs
cd frontend
npm install
npm run devApp:
http://localhost:3000
This repository is private. Access is granted only to collaborators explicitly added by the owner.
- Online corpus integration for broader plagiarism coverage
- Semantic plagiarism detection (beyond exact fingerprints)
- Admin analytics dashboard
- Multi-language document support
- Cloud deployment (AWS / Azure)
- Email notifications for deadlines and feedback