How cu-sanjay/free-turnitin-plagiarism-checker works
This is a browser-based plagiarism checker that compares submitted text with accessible public web pages, then presents matched passages and a downloadable report. The main path is document submission, server validation, segmented web search and page comparison, similarity resolution, and result review; users can also revisit saved history and browse tools/about pages. The README documents visual analytics, citation exclusion, dark mode, and multiple file formats, though sampled input code only visibly handles plain-text files. Some client wiring and unsampled feature implementations are represented only where documented.
Main entry points: App.jsx App routes · Index.jsx Document checker · routes.js Check routes · plagiarism.js Check orchestration
Components 20
Client experience
- App routes
client/src/App.jsx - Document checker
client/src/pages/Index.jsx - Report view
client/src/components/ReportView.jsx - History page
client/src/pages/HistoryPage.jsx - Free tools
client/src/pages/ToolsPage.jsx - About page
client/src/pages/AboutPage.jsx - Report download
client/src/lib/download-report.js - Application shell
client/src/components/AppShell.jsx - Visual analytics
client/src/components/ReportView.jsx
Check service
- HTTP server
server/index.js - Check routes
server/routes.js - Check orchestration
server/plagiarism.js - Web search and fetch
server/search.js
Matching and reports
- Similarity engine
shared/similarity.js - Input schema
shared/schema.js - PDF report builder
shared/pdf-report.js - Source colors
shared/source-colors.js
History
- History storage
shared/history-store.js
Other components
- User
- Public web pages
Connections 20
- User → App routes: opens
- App routes → Document checker: routes to
client/src/App.jsx - App routes → History page: routes to
client/src/App.jsx - App routes → Free tools: routes to
client/src/App.jsx - App routes → About page: routes to
client/src/App.jsx - App routes → Application shell: renders in
client/src/App.jsx - Document checker → Check routes: submits check
- Check routes → Input schema: validates with
server/routes.js - Check routes → Check orchestration: invokes
server/routes.js - Check orchestration → Similarity engine: analyzes with
server/plagiarism.js - Check orchestration → Web search and fetch: searches and fetches
server/plagiarism.js - Web search and fetch → Public web pages: queries and reads
server/search.js - Document checker → History storage: saves result
client/src/pages/Index.jsx - Document checker → Report view: renders results
client/src/pages/Index.jsx - Document checker → Report download: requests download
client/src/pages/Index.jsx - Report download → PDF report builder: generates PDF
- PDF report builder → Similarity engine: formats highlights
shared/pdf-report.js - PDF report builder → Source colors: colors sources
shared/pdf-report.js - Report view → Visual analytics: presents analytics
client/src/components/ReportView.jsx - History page → History storage: reads records