EduCheck is a tool that allows faculty to upload student ZIP submissions, automatically extract files, detect duplicate or similar work, and generate an instant CSV report. It eliminates manual checking, saves time, and supports large-scale academic evaluation.
- Upload a ZIP file containing student submissions.
- Automatically extract and analyze the contents.
- Detect similar or duplicate files using text comparison.
- Generate a ready-to-download CSV report.
Faculty often spend hours manually checking assignments and identifying copied work. EduCheck automates this process by extracting submissions, comparing their contents, and producing a similarity report instantly.
EduCheck/
├── templates/ # Frontend HTML templates
├── app.py # Flask backend
├── detect_similarities.py # Script for detecting similar submissions
├── requirements.txt # Dependencies
├── render.yaml # Render deployment configuration
└── README.html
- Backend: Python Flask
- Similarity detection: Jaccard similarity algorithm
- PDF handling: PyPDF2 (lightweight alternative to pdfplumber)
- Deployment: Render
- Faculty uploads a ZIP file containing student submissions.
- Each file is extracted and read for content comparison.
- Jaccard similarity checks identify copied or near-duplicate work.
- Results are compiled into a CSV report for download.
Basic steps to run locally:
# Install dependencies
pip install -r requirements.txt
python app.py
The project is deployed using Render. It runs the Flask server automatically from app.py and serves the web interface at the live link above. Render handles build, environment, and hosting configuration without additional setup.
- Jaccard similarity efficiently compares text-based submissions without heavy ML dependencies.
- Designed for low memory usage to handle large ZIP uploads.
- Generates a clean CSV summary file ready for academic review.