A web-based system project for analyzing plagiarism in academic documents.
- Frontend: React + Vite + Tailwind CSS
- Backend: FastAPI
- Database: SQLite (later)
- Algorithms: Classical NLP and similarity methods
- Compare one document against another
- Compare one document against a corpus
- Batch compare multiple submissions
- Visualize a class-wide similarity graph
- Detect style shifts inside a document
- Export reports
plagiarism-analysis-platform/
│
├── backend/
│ ├── app/
│ ├── uploads/
│ ├── requirements.txt
│ └── .gitignore
│
├── frontend/
│ ├── src/
│ ├── package.json
│ └── .gitignore
│
├── docs/
├── samples/
├── .gitignore
└── README.md
Make sure these are installed on your computer:
- Git
- Python 3.11+
- Node.js
- npm
git clone https://github.com/enamee/SDP_Plagiarism_Analysis_Platform.git
cd SDP_Plagiarism_Analysis_PlatformGo to the backend folder:
cd backendCreate a virtual environment.
On Linux/macOS:
python -m venv .venv
source .venv/bin/activateOn Windows Command Prompt:
python -m venv .venv
.venv\Scripts\activateInstall backend dependencies:
pip install -r requirements.txtOpen a new terminal and go to the frontend folder:
cd frontend
npm installThis installs all frontend packages from package.json.
Open Terminal 1.
On Linux/macOS:
cd backend
source .venv/bin/activate
fastapi dev app/main.pyOn Windows Command Prompt:
cd backend
.venv\Scripts\activate
fastapi dev app/main.pyBackend will run at:
- http://127.0.0.1:8000
- Health check: http://127.0.0.1:8000/health
- API docs: http://127.0.0.1:8000/docs
Open Terminal 2:
cd frontend
npm run devFrontend will run at:
Additional project notes are available in the docs/ folder:
docs/demo_script.md— suggested demo flow for presentationdocs/viva_quick_notes.md— quick viva preparation notes And add this section too:
- Scanned/image-based PDFs may not extract text correctly
- PDF table reconstruction is less reliable than DOCX
- Sentence splitting is simple and may not be perfect
- Style-shift detection is heuristic/statistical, not full authorship verification
- Graph layout is a simple circular layout for clarity and simplicity