| 🧠 Deep Learning |
🔎 Metadata Forensics |
⚡ 2s Latency |
| Xception backbone + PyTorch |
EXIF camera, GPS, AI-software flags |
End-to-end under 3 seconds |
git clone https://github.com/namann5/Ai_deepfake.git
cd Ai_deepfake
# Docker — one command, all services
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d
| Service |
URL |
| Frontend |
http://localhost:3001 |
| Backend API |
http://localhost:5000 |
| ML Inference |
http://localhost:7000 |
┌─ Browser ─────────────────────────────┐
│ React 19 · React Router 7 · Axios │
└────────────────┬───────────────────────┘
│ POST /api/analyze
▼
┌─ Node.js (Express 5) ─────────────────┐
│ Multer · Rate Limiter · Helmet · CORS │
├────────────┬───────────────────────────┤
│ Metadata │ ML Client (axios) ───────┼──► FastAPI · PyTorch · Xception
│ (exifr) │ │
└────────────┴───────────────────────────┘
│ │
└── Score Aggregator ──► MongoDB
| Container |
Role |
deepscan-backend |
Express API — routing, validation, orchestration |
deepscan-ml-service |
FastAPI + PyTorch — Xception deepfake inference |
deepscan-frontend |
React SPA — upload, results, history |
deepscan-mongo |
MongoDB 7 — scan persistence |
|
|
| 🖼️ Image & Video Upload |
JPEG/PNG/WEBP + MP4/MOV — drag & drop or click |
| 🤖 Deep Learning Detection |
Xception backbone → pixel-level forgery analysis |
| 🔎 EXIF Forensics |
Camera make/model, GPS, timestamps, AI software signatures |
| 📊 Probability Score |
0–100% with "Synthetic" / "Real" verdict + confidence band |
| 🗄️ Scan History |
Every result stored in MongoDB with full breakdown |
| 🐳 Dockerized |
docker compose up — all four containers, one command |
Content-Type: multipart/form-data
Field: image (file) · Optional: description (string)
{
"prediction": "deepfake",
"score": 72.4,
"verdict": "SYNTHETIC",
"confidence": "Medium",
"breakdown": {
"model_score": 68.0,
"metadata_score": 85.0
},
"flags": ["No EXIF data found — strong synthetic signal"]
}
deepscan-backend/
├── server.js # Express entry point
├── routes/analyze.js # Analysis & results endpoints
├── services/
│ ├── mlservice.js # ML inference client (axios)
│ ├── metadataService.js # EXIF parsing & scoring
│ └── scoreAggregator.js # Score fusion
├── middleware/fileValidator.js # Multer upload validation
├── models/Result.js # Mongoose schema
└── ml_server/
├── image_server.py # 🔵 Primary — PyTorch + Xception
└── video_server.py # 🟡 Secondary — TensorFlow video classifier
deepscan-frontend/
└── src/
├── components/ # UploadZone, ResultCard, MetadataPanel, ...
├── pages/ # Checker, History, About, ...
└── services/api.js # Axios client
|
Name |
Role |
| 👤 |
Anurag Singh |
Backend & System Analysis |
| 👤 |
Arpita Raj |
Frontend & UI Design |
| 👤 |
Harshita Nagpal |
Frontend & Documentation |
| 👤 |
Naman Singh |
Backend & Testing |
Supervisor: Mr. Abhishek Singh · Submitted To: Mr. Sanjay Madaan
Fighting synthetic misinformation, one pixel at a time. 🔍
Department of Computer Science & Engineering · Section 2FH